我用Python编写了以下测试代码:
lst1 = ["1", "2", "3"]
lst2 = ["4", "5", "6"]
lst3 = ["7", "8", "9"]
numbers = [lst1, lst2, lst3]
for lst in numbers:
lst = list(map(int, lst))
print (numbers)
我要做的是将lst1
、lst2
和{numbers
中的子列表。我使用map()
函数通过迭代每个列表并转换列表来实现这一点,但是不知怎么的,它不起作用。在
现在,我使用以下代码尝试了另一种方法:
^{pr2}$出于某种原因,这是有效的。有人知道为什么前一个代码不起作用,而后一个代码有效吗?我只想绕着它转一圈,这样我就完全明白为什么它不起作用了。在
谢谢!在
您正在打印},它是经过修改的新列表。
numbers
,它是列表的原始列表,而不是{尝试:
创建一个遍历
numbers
的引用lst
,然后在每次迭代时将该引用重新分配给一个新列表,这不会更改原始列表的内容。在这与
^{pr2}$不会改变
x
的值这是关于更新循环内的numbers变量(这根本不起作用)。我通常是这样做的:
也发现了这个问题,其中似乎有类似的问题。 How to modify list entries during for loop?
相关问题 更多 >
编程相关推荐