2012-11-20 29 views
0

列表的第一個字符的列表假設我有一個列表的字符串說如何使從字符串

['abc' , 'def', 'ghi'] 

如何轉換成數組列表像

[['a','d','g'],['b','e','h'],['c','f','i']] 
+2

你嘗試過這麼遠嗎?這應該包含在你的問題中,給我們一個幫助你的出發點 – EEP

回答

3

你使用列表理解

In [7]: lis=['abc' , 'def', 'ghi'] 

In [9]: [list(x) for x in zip(*lis)] 
Out[9]: [['a', 'd', 'g'], ['b', 'e', 'h'], ['c', 'f', 'i']] 
可以使用

使用map()

In [11]: map(list,zip(*lis)) 
Out[11]: [['a', 'd', 'g'], ['b', 'e', 'h'], ['c', 'f', 'i']] 
+0

還要注意,如果OP滿足元組而不是列表(即不會改變它們),那麼'zip(* lis)'應該足夠了, ,這很可能是這種情況。 – Kos

+0

它的工作原理。我已經通過循環來完成,沒有使用任何特殊的方法,例如zip。但想知道是否有任何特殊的方法,蟒蛇有。感謝您的建議 – magusc

+0

@magusc很高興幫助。 –

2

使用列表理解和zip

l = ['abc' , 'def', 'ghi'] 
l = [list(x) for x in zip(*l)] 
print l 

>>> [['a','d','g'],['b','e','h'],['c','f','i']] 
+0

現在這與我的解決方案完全相同。 –