Re: [問題] list.pop() 問題
※ 引述《jimmylin212 (JimmyG)》之銘言:
: 想請一個程式片段的錯誤
: list = [ [1,a],[1,b],[2,c],[2,d],[3,e],[4,f],[5,g] ]
: for i in range(0, len(list)):
: if list[i][0] == 1:
: list.pop(i)
: 當我執行這段程式的時候最後結束都會 index out of range
: 最後大概會有一兩個長度的誤差,就是會讀到空的地方
: 想請問會出現這種問題是為什麼呢?
: 另外要怎麼解決呢?
我想到的解決方法是 list comprehension:
new_list = [x for x in list if x[0] != 1]
如果你堅持不要建立新的 list,那麼可以考慮用 dict:
dictionary = {'a': 1, 'b': 1, 'c': 2}
for k in dictionary.keys():
if dictionary[k] == 1:
del dictionary[k]
---
http://descriptor.blogspot.com/search/label/Programming
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.169.99.241
推
11/23 23:53, , 1F
11/23 23:53, 1F
→
11/23 23:53, , 2F
11/23 23:53, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章