我想从序列列表中创建一个矩阵, 一个例子可能是:
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]]
对于较大的列表,有没有一种有效的方法?
答案 0 :(得分:1)
您可以使用列表推导,其中每个元素都是从主列表中的序列字符串构造的整数列表:
Setup.exe /Q ^
/action=Install ^
/ERRORREPORTING=1 ^
/INDICATEPROGRESS=true ^
/TCPENABLED=1 ^
/SKIPRULES=PerfMonCounterNotCorruptedCheck ^
/features="SQLEngine, FullText, SSMS, ADV_SSMS, SNAC_SDK" ^
/INSTANCENAME=GEMINIS ^
/INSTALLSQLDATADIR="C:\SQL SERVER 2014" ^
/INSTANCEDIR="C:\SQL SERVER 2014" ^
/SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" ^
/SQLSVCSTARTUPTYPE=Automatic ^
/AGTSVCACCOUNT="NT AUTHORITY\SYSTEM" ^
/AGTSVCSTARTUPTYPE=Disabled ^
/IACCEPTSQLSERVERLICENSETERMS ^
/ROLE=AllFeatures_WithDefaults ^
/SECURITYMODE=SQL ^
/SAPWD="password37" ^
/SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"
答案 1 :(得分:0)
首先,切勿将列表命名为“列表”。 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']]