例如,我们有这个二维列表:
list1 = [['tom',67,'engineer',2],
['ron',42,'scientist',4],
['alie',56,'doctor',3],
['rambo',29,'lawyer',7]]
现在我必须删除第 4 列具有奇数值的行。 python3 有没有办法使用 pop 或其他东西来做到这一点?
最佳答案
从 list1
创建新列表的最简单方法。如果您想替换它,可以将其分配给list1
。您可以使用:
list2 = [v for v in list1 if v[3] % 2 == 0]
在您的示例中,list2
获取以下值:
[['tom', 67, 'engineer', 2],
['ron', 42, 'scientist', 4]]
如果您只想用新列表替换list1
,您可以直接这样做:
list1 = [v for v in list1 if v[3] % 2 == 0]
如果您需要保留对list1
的引用,您可以使用以下命令更改现有列表:
list1[:] = [v for v in list1 if v[3] % 2 == 0]
关于python - 如何根据特定列值从二维列表中删除行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37904343/