【发布时间】:2019-01-14 09:56:21
【问题描述】:
我正在运行 Python3.6,并且正在处理其中包含其他列表的列表。
list_array = [[1,0,1,0,2,2],
[1,1,2,0,1,2],
[2,2,2,1,0,1]]
我想修改名为 list_array 的列表,删除子列表中所有值为 2 的条目。
我使用的代码是
for k in list_array:
k = [x for x in k if x!=2]
但是,此代码不会修改 list_array。
为什么不能以这种方式替换 list_array 中列表中的元素?
【问题讨论】:
-
您明确地创建了一个 new 列表对象,而不是修改
list_array引用的对象。 -
list_array = [[j for j in i if j !=2] for i in list_array]?
标签: python python-3.x list loops iterable