在python3中,我有一个嵌套列表
my_list= [
[2,2,2,2],
[3,3,3,3],
[4,4,4,4]
]
我想把第二列的所有值都改成0
,得到
my_list= [
[2,0,2,2],
[3,0,3,3],
[4,0,4,4]
]
现在我能做的是
for i in range(len(my_list)):
my_list[i][1] = 0
但它看起来不太“pythonic”,对吗?有没有一种更聪明的方法,不用使用数组的长度?
在Numpy中,我可以使用my_list[:,2]=0
。
2条答案
按热度按时间kqlmhetl1#
一个更pythonic的方法是:
在Python中,当循环遍历列表或集合时,不需要使用
range(len(my_list))
,for
循环知道何时停止。pcrecxhr2#
真有趣一个更通用的解决方案在这里似乎是有用的。如果你想用另一列替换那一列...那更像是:
那么解决方案更像是:
但有一个副作用:行以元组结束!