【发布时间】:2017-03-09 19:32:46
【问题描述】:
我有一个包含我的数据的列表,格式如下:
data = [[[1, 3, 4, 5, 7], [A, B, C]],
[[2, 3, 8, 2, 9], [F, C, C]],
[[6, 3, 1, 3, 1], [F, E, D]],
[[2, 3, 7, 0, 3], [F, C, F]],
...
[[0, 3, 3, 4, 5], [F, B, A]]]
在我的程序中,我会检查是否存在具有固定值的列(例如仅包含 3 的第二列。如果找到,我应该将其从数据中删除。我们可以迭代的解决方案之一列表并逐个元素删除此列。使用以下代码:
for data_line in data:
del data_line [0][1]
这样好吗?这会导致不稳定或任何其他问题吗? 请解释..
提前致谢
解决方案总结
感谢所有为这个问题做出贡献的人,总结下面的宝贵贡献,我们可以说:
可以修改您正在迭代的列表的内容,但不能删除其中的元素,即只要修改不会改变 MAIN 列表的长度,那就没问题了。
【问题讨论】:
-
你在发布这个问题之前搜索过(例如在谷歌中)吗?我认为没关系,因为您不修改列表本身,而是修改他的内容。
-
@Stargateur 我搜索了,但意见不同,这就是为什么我想请专家解释一下。感谢您的评论。
-
与标题相反,你迭代的列表不是你修改的,所以没关系。
-
你的修改不会改变外层列表的长度
标签: python python-2.7 list iteration