2024-06-14 14:58:29 发布
网友
例如,我们有以下2D列表:
list1 = [['tom',67,'engineer',2], ['ron',42,'scientist',4], ['alie',56,'doctor',3], ['rambo',29,'lawyer',7]]
现在我必须删除第4列中有奇数值的行。python3中有没有任何方法可以使用pop或其他东西来实现这一点
pop
该解决方案使用remove。你很容易理解
remove
for value in list1[:]: if value[3] % 2 != 0: list1.remove(value)
结果
[['tom', 67, 'engineer', 2], ['ron', 42, 'scientist', 4]]
最简单的方法是从list1创建一个新列表。如果要替换它,可以将其分配给list1。您可以使用:
list1
list2 = [v for v in list1 if v[3] % 2 == 0]
在您的示例中,list2获取以下值:
list2
如果您只想用新列表替换list1,可以直接执行以下操作:
list1 = [v for v in list1 if v[3] % 2 == 0]
如果需要保留对list1的引用,可以使用以下命令更改现有列表:
list1[:] = [v for v in list1 if v[3] % 2 == 0]
该解决方案使用
remove
。你很容易理解结果
最简单的方法是从
list1
创建一个新列表。如果要替换它,可以将其分配给list1
。您可以使用:在您的示例中,
list2
获取以下值:如果您只想用新列表替换
list1
,可以直接执行以下操作:如果需要保留对
list1
的引用,可以使用以下命令更改现有列表:相关问题 更多 >
编程相关推荐