猿问

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

对于更大的列表,有没有一种有效的方法来做到这一点?


拉丁的传说
浏览 166回答 2
2回答

宝慕林4294392

您可以使用列表推导式,其中每个元素都是从主列表中的序列字符串构造的整数列表: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']]
随时随地看视频慕课网APP

相关分类

Python
我要回答