如何使用现有列表制作2D数组?

时间:2012-10-07 12:33:08

标签: python arrays list 2d

例如,我有一个名为'mazeline'的txt数据,如下所示:

abcd
cdae
korp

所以我首先列出了3个名单:

mazeline = readmaze.split()
mline0 =  list(mazeline[0])
mline1 =  list(mazeline[1])
mline2 =  list(mazeline[2])

所以3个列表是:

mline0 = [a,b,c,d]
mline1 = [c,d,a,e]
mline2 = [k,o,r,p]

我想制作一个像这样的2D数组:

[[a,b,c,d],[c,d,a,e],[k,o,r,p]]

还是有什么方法可以直接从第一个数据制作一个二维数组?

有什么建议吗?任何帮助都会很好。

2 个答案:

答案 0 :(得分:2)

将列表放在另一个列表中

res = [mline0, mline1, mline2]

更简单地说,您可以跳过中间变量并使用列表推导

res = [list(mline) for mline in readmaze.split()]

答案 1 :(得分:0)

试试这个列表理解:

[[int(i) for i in line.strip()] for line in open('file/path')]