[英]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.