我想將['1','2','3','4']轉換爲[1,2,3,4] 我想將此轉換置於原地。可以做到嗎?如果不是,最佳的解決方案是什麼。列表轉換 - inplace
3
A
回答
1
你可以用列表理解這樣做:
l = [int(item) for item in l]
+2
創建一個新列表。 –
0
這應該是相當的原地?
In [31]: l = ['1','2','3','4']
In [32]: for i in range(len(l)):
....: l[i] = int(l[i])
....:
In [33]: l
Out[33]: [1, 2, 3, 4]
或者,你可以通過使用enumerate
這需要一個迭代(如list
)做到這一點,從開始到結束返回index
和相應的值:
In [84]: l = ['1','2','3','4']
In [85]: for idx, val in enumerate(l):
....: l[idx] = int(val)
....:
In [86]: l
Out[86]: [1, 2, 3, 4]
+0
我在思考幾分鐘後做了同樣的事情。謝謝回覆! – Aman
+0
你應該爲此使用'enumerate'。它完全符合用例*。 –
0
只要整個陣列適合內存,你應該可以通過它,取代每個項目,你去:
# bigarray is ['1','2','3','4',...];
# loop through bigarray using index i
for i in range(len(bigarray)):
# coerce bigarray[i] to int in place
bigarray[i] = int(bigarray[i])
# bigarray is [1,2,3,4,...];
祝你好運!
2
我認爲這是更好地使用map
這類任務。哪個創建迭代器,什麼意思是更高效的內存。
l = list(map(int, l))
# here I convert it to list, but usually you would just iterate over it
# so you can just do
for item in map(int, l):
...
相關問題
- 1. Numpy inplace dtype轉換
- 2. Inplace quick sort
- 3. 轉換列表
- 4. 轉換列表
- 5. 轉換列表
- 6. 轉換列表
- 7. 將循環轉換爲列表理解?
- 8. 轉換列表,列表
- 9. Inplace enumeration
- 10. grep with sed inplace
- 11. 轉換列表到「換位」列表
- 12. 轉換列表MVC
- 13. 轉換列表namedtuple
- 14. Groovy列表轉換
- 15. XSLT列表轉換
- 16. 轉換樹列表
- 17. 列表的轉換
- 18. 列表轉換/變換
- 19. 轉換列表陣列
- 20. 轉換隊列到列表
- 21. 轉換列表轉換的INT
- 22. 轉換規則轉換成列表
- 23. XSLT轉換HTML列表轉換成XML
- 24. 轉換列表轉換爲字符串
- 25. SQL錶行轉換爲列表列表
- 26. 轉換列表列表變爲表
- 27. 將轉換列表轉換爲水星中的元組列表
- 28. 將轉換矩陣轉換爲列表列表
- 29. 轉換列表的列表轉換爲字符串列表 - Python的
- 30. Python列表轉換爲列表字典
它有多大? '''lyst [1] = int('1')'''將1分配給列表的索引1。 ['''enumerate'''](https://docs.python.org/3/library/functions.html#enumerate)應該幫助 – wwii
約100個數字在數組 – Aman
它是該死的容易!我的錯! – Aman