繁体   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