【发布时间】:2016-06-26 13:22:41
【问题描述】:
我正在尝试通过指定要删除的列表的索引来从列表中删除一个项目,但我收到了错误。
我的代码:
tuu = [1,2,3,4,'nan', 8]
for i in range(len(tuu)):
if tuu[i] == 'nan':
del tuu[i]
但我得到了错误:
7 for i in range(len(tuu)):
----> 8 if tuu[i] == 'nan':
9 del tuu[i]
IndexError: list index out of range
【问题讨论】:
-
尝试删除方法。
-
[i for i in lst if i != 'nan'] -
当你想在迭代时使用
range(len(list))删除for循环中的项目,你应该删除它reverse way(检查链接) -
也可以在不使用切片符号创建新列表的情况下就地分配:
tuu[:] = [x for x in tuu if x != 'nan']
标签: python list list-comprehension