2014-10-29 48 views
1

我想从列表中创建列表清单。从列表创建列表清单的Python方法

名单如下:

level = [' WWWWWWWWWWWWWWWWW', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C     E'] 

我需要创造这样的:

[[' ', ' ', ' ', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'E']] 

我已经做了这种方式:

listofLists = [] 
for row in level: 
    liss = [] 
    for col in row: 
    liss.append(col) 
    listofLists.append(liss) 

什么是更Python的方式或更短的方式做到这一点?

回答

4
>>> listofLists = map(list,level) 

(在python3,如果你真的需要一个列表,请list(map(list, level))

+0

+1我看你在7秒内击败了我。 :-) – 2014-10-29 15:46:02

+0

什么时间!我必须通过一个“我是人类”的测试才能够回答。 – 2014-10-29 15:48:19

2

当您在一个字符串调用list()这将返回所有字符(包括空格)的列表。

level = [' WWWWWWWWWWWWWWWWW', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C W C    W', 'C     E'] 
trasnsformed = [list(x) for x in level]