我有一个如下所示的 2D 列表:
table = [['donkey', '2', '1', '0'], ['goat', '5', '3', '2']]
想把最后三个元素改成整数,但是下面的代码感觉很丑:
for row in table:
for i in range(len(row)-1):
row[i+1] = int(row[i+1])
但我更喜欢看起来像这样的东西:
for row in table:
for col in row[1:]:
col = int(col)
我认为应该有一种方法可以编写上面的代码,但是切片会创建一个与原始列表分开的迭代器/新列表,因此引用不会继续存在。
有没有办法获得更 Pythonic 的解决方案?
最佳答案
for row in table:
row[1:] = [int(c) for c in row[1:]]
上面看起来更像pythonic吗?
关于python - 修改嵌套列表元素的最优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5672363/