[問題] 在iterator得到current index

看板Python作者 (お菓子)時間12年前 (2012/03/12 22:24), 編輯推噓6(604)
留言10則, 4人參與, 最新討論串1/2 (看更多)
我想在用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

03/12 23:51, , 1F
for idx, cur_item in enumerate(mylist): 可以找目前idx
03/12 23:51, 1F

03/12 23:51, , 2F
for i in xrange(len(mylist)):
03/12 23:51, 2F

03/12 23:54, , 3F
放棄,請參考一樓的答案
03/12 23:54, 3F

03/12 23:57, , 4F
第二個問題寫程式試試看就知道了
03/12 23:57, 4F

03/13 09:28, , 5F
可是用insert的話,會搬動後面的所用item,比較慢喔
03/13 09:28, 5F

03/13 09:28, , 6F
不如自己用個loop處理掉
03/13 09:28, 6F

03/14 03:00, , 7F
list_iterator在stop iteration前會隨其參照的list改變
03/14 03:00, 7F

03/14 03:09, , 8F
改變list長度即改變for的loop數(除非在最後一圈縮短list
03/14 03:09, 8F

03/14 03:12, , 9F
但只有insert的index大於for loop目前index的項會loop到
03/14 03:12, 9F

03/14 03:20, , 10F
否則會重複loop現在這項一次
03/14 03:20, 10F
文章代碼(AID): #1FNWSqUy (Python)
文章代碼(AID): #1FNWSqUy (Python)