作者jcaosola (お菓子)
看板Python
標題[問題] 在iterator得到current index
時間Mon Mar 12 22:24:49 2012
我想在用iterator在loop時動態增加list的項目
用途大概是把list中current item 後半split下來
insert到下一項在做處理
可是index()好像只會找到第一個符合的
請問我如何找到
for cur_item in mylist:
cur_item 目前的position or index?
另外想問如果
真的insert成功的話iterator會保證
幫我改變正確的loop數目嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.181.10
1F:推 bowans:for idx, cur_item in enumerate(mylist): 可以找目前idx 03/12 23:51
2F:推 bopomofo:for i in xrange(len(mylist)): 03/12 23:51
3F:推 bopomofo:放棄,請參考一樓的答案 03/12 23:54
4F:推 bopomofo:第二個問題寫程式試試看就知道了 03/12 23:57
5F:→ kdjf:可是用insert的話,會搬動後面的所用item,比較慢喔 03/13 09:28
6F:→ kdjf:不如自己用個loop處理掉 03/13 09:28
7F:推 mikapauli:list_iterator在stop iteration前會隨其參照的list改變 03/14 03:00
8F:→ mikapauli:改變list長度即改變for的loop數(除非在最後一圈縮短list 03/14 03:09
9F:→ mikapauli:但只有insert的index大於for loop目前index的項會loop到 03/14 03:12
10F:推 mikapauli:否則會重複loop現在這項一次 03/14 03:20