2014-10-29 57 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]