from pprint import *
sites = [['a','b','c'],['d','e','f'],[1,2,3]]
pprint(sites)
for site in sites:
sites.remove(site)
pprint(sites)
输出:
[['a', 'b', 'c'], ['d', 'e', 'f'], [1, 2, 3]]
[['d', 'e', 'f']]
为什么不是 None 或空列表 [] ?
最佳答案
这是因为您在迭代列表时正在修改它。你永远不应该那样做。
对于这样的事情,您应该复制列表并对其进行迭代。
for site in sites[:]:
sites.remove(site)
关于python - 为什么 list.remove() 的行为不像人们预期的那样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210578/