为什么这样的结构不起作用?
l = [1,2,3]
for x in l:
x = str(x)
print(l)
它回归:
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
而非预期:
['1', '2', '3']
['1', '2', '3']
['1', '2', '3']
答案 0 :(得分:2)
答案 1 :(得分:0)
执行x = str(x)
后,它会将x
中的值更改为str
(而不是列表l
中的元素)
但是当您尝试更改列表l
我建议你尝试列表理解:
l = [str(x) for x in l]
答案 2 :(得分:0)
您需要将铸造的x存储回列表,如下所示:
l = [1,2,3]
new_l = []
for x in l:
new_l.append(str(x))
print(new_l)
答案 3 :(得分:0)
此外,如果您不习惯地图(请参阅其他答案),您可以使用:
for i,x in enumerate(l):
l[i] = str(x)
但其他答案更好。