※ 引述《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