爲什麼這樣的構造不起作用?Int轉換爲str使用循環
l = [1,2,3]
for x in l:
x = str(x)
print(l)
它returnes:
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
,而不是預期:
['1', '2', '3']
['1', '2', '3']
['1', '2', '3']
爲什麼這樣的構造不起作用?Int轉換爲str使用循環
l = [1,2,3]
for x in l:
x = str(x)
print(l)
它returnes:
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
,而不是預期:
['1', '2', '3']
['1', '2', '3']
['1', '2', '3']
當你做x = str(x)
它改變x
到str
值(在列表而不是元素l
)
但是當你試圖改變名單l
我建議你嘗試列表理解:
l = [str(x) for x in l]
您需要存儲回鑄造X返回列表如下:
l = [1,2,3]
new_l = []
for x in l:
new_l.append(str(x))
print(new_l)
另外,如果你不習慣了地圖(見其他答案)你可以使用:
for i,x in enumerate(l):
l[i] = str(x)
但其他答案只是更好。
你需要'list(map ..)'for python3 – 2015-02-10 09:55:48
當然,我錯過了python3標籤,謝謝! – 2015-02-10 09:56:42
不錯,謝謝! – 2015-02-10 10:09:25