我得到了以下列表列表:
mat = [['a,p,p,l,e'], ['a,g,o,d,o'], ['n,n,e,r,t'], ['g,a,T,A,C'], ['m,i,c,s,r'], ['P,o,P,o,P']]
如您所见,此列表列表无法正确用作矩阵。
如何将其转换为:
mat = [['a','p','p','l','e'], ['a','g','o','d','o'], ['n','n','e','r','t'], ['g','a','T','A','C'], ['m','i','c','s','r'], ['P','o','P','o','P']]
这样,如果我操作mat[1][2]
,我会得到o
答案 0 :(得分:2)
这是一种使用列表理解的方法:
如果我们有像您的示例这样的嵌套列表。
nested_list = [['a,p,p,l,e'], ['a,g,o,d,o'], ['n,n,e,r,t'], ['g,a,T,A,C'], ['m,i,c,s,r'], ['P,o,P,o,P']]
我们将不得不遍历每个项目,并在“ ,
”上拆分每个项目的字符串,这样['a, p, p, l, e']
将是['a', 'p', 'p', 'l', 'e']
。
# New list
matrix = [item.split(",") for sublist in nested_list for item in sublist]
print(matrix)
现在的结果将是一个矩阵。
[['a', 'p', 'p', 'l', 'e'],
['a', 'g', 'o', 'd', 'o'],
['n', 'n', 'e', 'r', 't'],
['g', 'a', 'T', 'A', 'C'],
['m', 'i', 'c', 's', 'r'],
['P', 'o', 'P', 'o', 'P']]
这与编写此内容相同:
matrix = []
for item in nested_list:
for i in item:
matrix.append(i.split(","))
print(matrix)
答案 1 :(得分:0)
您可以使用类似的方式对其进行转换:
mat = [['a,p,p,l,e'], ['a,g,o,d,o'], ['n,n,e,r,t'], ['g,a,T,A,C'], ['m,i,c,s,r'], ['P,o,P,o,P'
newMat = []
for i in mat:
newMat.append(i[0].split(","))
print(newMat[1][2])