簡體   English   中英

用python中的序列列表制作矩陣

[英]Make a matrix out of a list of sequences in python

我想從序列列表中制作一個矩陣,例如:

list = ['101023', '101011', '102010', '102931']

現在我想獲得一個矩陣,如:

matrix = [[1, 0, 1, 0, 2, 3], [1, 0, 1, 0, 1, 1], [1, 0, 2, 0, 1, 0], [1, 0, 2, 9, 3, 1]]

有沒有一種有效的方法可以對較大的列表執行此操作?

您可以使用列表推導,其中每個元素都是從主列表中的序列字符串構造的整數列表:

lst = ['101023', '101011', '102010', '102931']
matrix = [[int(c) for c in seq] for seq in lst]

print(matrix)
# [[1, 0, 1, 0, 2, 3], [1, 0, 1, 0, 1, 1], [1, 0, 2, 0, 1, 0], [1, 0, 2, 9, 3, 1]]

首先,永遠不要將列表命名為“列表”。 List是python中可以調用的函數。 另外,我認為您在處理數組時應該研究numpy。 但是,如果您不想這樣做,那么下面的一些代碼應該可以有效地創建所需的輸出。

list1 = ['101023', '101011', '102010', '102931']

list2 = []
for x in list1:
    t=list(x)
    list2.append(t)
print(list2)
[['1', '0', '1', '0', '2', '3'], ['1', '0', '1', '0', '1', '1'], ['1', '0', '2', '0', '1', '0'], ['1', '0', '2', '9', '3', '1']]

暫無
暫無

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

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