簡體   English   中英

如何在 Python 中將數字列表轉換為整數?

[英]How to Convert List of Numbers to Integers in Python?

所以我有一個來自 Python 加載的 .txt 文件的數字列表列表:

ls = [['3456', '937'], ['3666', '54533'], ['24456', '83279'], ['344516', '10410']...]

如何將數字( type: list )轉換為整數類型,但將它們保留在此列表中?

即我想要的輸出:

[[3456, 937], [3666, 54533], [24456, 83279], [344516, 10410]...]

我試過用這個:

ls = [int(i) for i in ls]

但是得到錯誤: int() 參數必須是一個字符串。

有誰知道如何轉換為我想要的輸出? 謝謝!

你可以在里面多用一個理解:

ls = [[int(i) for i in k] for k in ls]

您可以使用map和列表理解。

ls = [['3456', '937'], ['3666', '54533'], ['24456', '83279'], ['344516', '10410']]

>>> [list(map(int, i)) for i in ls]
#[[3456, 937], [3666, 54533], [24456, 83279], [344516, 10410]]

列表是可變的,但字符串不是。 您可以使用 for 循環來實現此目的。

print(id(a[0]))
print(id(a[0][0]))

for i in range(len(a)):
    for j in range(len(a[i])):
        a[i][j] = int(a[i][j])

print(a)
print(type(a[0][0]))
print(id(a[0])) # the same id with the first print
print(id(a[0][1])) # id has changed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM