我有一个二维列表,长这样:
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的解决方案?
row[1:]
切片(作为map
函数的参数)创建。第二个由列表推导式创建。 - Wesley