Re: [問題] 如何得知list index

看板Python作者 (無敵鐵金鋼)時間11年前 (2014/07/19 15:17), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《Sharon226 (流浪)》之銘言: : ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.216.67 : ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1405500019.A.324.html : → alibuda174:直接用alist.index('case3')找出索引值 可以嗎? 07/16 17:55 : → mikapauli:有一定要知道index嗎? 07/16 18:19 : → mikapauli:沒有的話,可以讓兩個loop共用一個iterator 07/16 18:21 : → mikapauli:aiter = iter(alist) 07/16 18:21 : → mikapauli:for n in aiter: 07/16 18:21 : → mikapauli: A(n) 07/16 18:22 : → mikapauli: if n == 'case3': 07/16 18:22 : → mikapauli: break 07/16 18:22 : → mikapauli:for n in aiter: 07/16 18:23 : → mikapauli: B(n) 07/16 18:23 : 推 ck574b027:如果做的事情可以分成 A, B 兩個函數,那 break 可以換 07/16 18:52 : → ck574b027:成 fn = B,做事都用fn(n),這樣只需要一個 for 07/16 18:54 不好意思 沒把需求說清楚 (先感謝doglegbow 以及樓上推文朋友) 現在我有一個list 以case3做切割 遇到case3前的element都做A 以後的都做B (不管是case?) 所以如果放在一個 for 裡 感覺後半段會一直多做無意義的判斷式 if n == 'case3' enumerate可以, 我再試試 iter for x in alist[:alist.index("case3")]: print "do function a with x(%s)" % x for x in alist[alist.index("case3")]: print "do function b with x(%s)" % x -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.216.67 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1405519102.A.7BC.html

07/16 22:08,
enumerate 也是回傳 iterator,所以模仿來用就好
07/16 22:08

07/16 22:23,
alist[alist.index('case3'):]
07/16 22:23
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.104.148 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1405754267.A.A7E.html
文章代碼(AID): #1JoXkRf- (Python)
討論串 (同標題文章)
文章代碼(AID): #1JoXkRf- (Python)