lst =[1
,2,3
,4,5
,6]for i in lst:7)
/這樣寫法就會一直持續新增7
,因為每新增乙個,列表都會多乙個元素,就會一直迴圈下去一直加7
print
(lst)
li =[11
,22,33
,44]for e in li:
/直接從列表中迴圈
li.remove(e)
print
(li)
結果:
for的運⾏過程. 會有⼀個指標來記錄當前迴圈的元素是哪⼀個, ⼀開始這個指標指向第0 個.
然後獲取到第0個元素. 緊接著刪除第0個. 這個時候. 原來是第⼀個的元素會⾃動的變成 第0個.
然後指標向後移動⼀次, 指向1元素. 這時原來的1已經變成了0, 也就不會被刪除了.
用 del 或remove 會報錯,用 pop 會剩下 11和22,也不行
那怎樣才可以哪?
方法一:
li =[11
,22,33
,44]for i in
range
(len
(li)):
li.pop(
)print
(li)
方法二:
li =[1
,2,3
,4]lst = li[:]
for i in lst:
li.remove(i)
print
(li)
注意: 由於刪除元素會導致元素的索引改變, 所以容易出現問題. 盡量不要再迴圈中直接去刪除元素. 可以把要刪除的元素新增到另⼀個容器中然後再批量刪除. 關於c 中timer的使用可能要注意的
此問題由lor manari提出,謝謝!抱歉原始碼沒有注釋,初步學習timer後,想說明在使用timer中可能要注意的事項,歡迎大夥拍磚。1.注意函式timer elapsed的型別為static。2.在注意1的基礎上,atimer的宣告應在各函式外,且為static。using system us...
乙個設計師成長可能要經歷的五個階段
入門,這時候,他的腦子裡到處都是疑問,需要了解和掌握的太多,自己覺得很困頓並且勞累,而且始終伴隨著緊迫感和在乙個龐大的體系中迷失方向的失落感。這個階段不妨把它叫做迷失時代,迷失時代他最需要的是學習,盲目的給自己找定位是很危險的。經過一段時間的學習和積累,他對整個設計體系的感知逐漸清晰,各種流行的和不...
羅永浩開始賣拉桿箱,接下來可能要承包你的整個生活
錘子發布會就是特別,不發手機發周邊。昨天晚上,錘子科技又開年度發布會了。比較特別的是,這次的發布會不談手機,羅永浩轉身開始賣起了拉桿箱 加濕器 智慧型音箱。憑藉情懷打天下的老羅,在過去幾年靠著粉絲應援發布會門票,現場演繹單口相聲,讓錘子一路跌跌撞撞地走著。對於早前錘子陷入倒閉的傳聞,老羅在現場回應 ...