用python中的序列列表生成一个矩阵

用python中的序列列表生成一个矩阵,python,list,matrix,Python,List,Matrix,我想用序列列表做一个矩阵, 例如: 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

我想用序列列表做一个矩阵, 例如:

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']]