python - 修改嵌套列表元素的最优雅方式

标签 python nested-lists

我有一个如下所示的 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/

相关文章:

python - 在action_default_fallback中调用Chatgpt

python - 嵌套列表 Python 3 中的数字平方

python - 如何在保留一些嵌套的同时展平列表(在Python中)

python - 在 django save() 方法中,如果 id 是 UUIDField,您应该如何识别新对象?

python - 使用枚举项作为列表索引

python - 执行图像减法时退出代码139

python - 展开并展平参差不齐的嵌套列表

python - 将新的 "git ..."子命令实现为 Python 脚本

Python:遍历嵌套列表列表中的每个项目并替换特定项目

java - 什么工作更快 : two dimensional arrays or list of lists