所以,我的問題是,我想轉我的列表行到例如列 列:Python中,字符串列表,行到
[ 「AAA」, 「BBB」, 「CCC」] => [「ABC」,「ABC」,「ABC」]
找不到有效的方法來做到這一點。
所以,我的問題是,我想轉我的列表行到例如列 列:Python中,字符串列表,行到
[ 「AAA」, 「BBB」, 「CCC」] => [「ABC」,「ABC」,「ABC」]
找不到有效的方法來做到這一點。
可以做一個簡單的使用的zip
和拆包:
strs = ["AAA", "BBB", "CCC"]
print zip(*strs)
輸出將是元組,雖然:
[( 'A', 'B', 'C'), ( 'A', 'B', 'C'),( 'A', 'B', 'C')]
對於字符串可以使用:
strs = ["AAA", "BBB", "CCC"]
print map(''.join, zip(*strs))
# for python 3 use: list(map(''.join, zip(*strs))) # thanks @cesar
輸出現在是字符串的列表:
[ 'ABC', 'ABC', 'ABC']
''.join
用於映射元組爲字符串。
如果你使用的是python3,map函數會返回一個map對象,所以如果你需要一個列表你shuld通話清單(地圖(''。加入,郵編(* strs))) – Cesar
a = ["AAA", "BBB", "CCC"]
print ([''.join(i) for i in zip(*a)])
所以這個假設您正在處理您的示例中的字符串,但你可以擴展算法來處理任何數據類型,你遇到的邏輯將保持不變。
listRows = ["AAA", "BBB", "CCC"]
transList = []
tempString = ''
for s in range(0,len(listRows)):
for i in range(0, len(listRows)):
tempString = tempString + listRows[i][s]
transList.append(tempString)
tempString = ''
print(transList)
哪裏transList是最終的列表中選擇所需
Woah @Reut Sharabani和Abhishek,我不知道郵政編碼和地圖,這些都是整潔!!如果我有足夠的代表我會投票你們兩個哈哈! – BLang
'拉鍊(*(名單(i)對於我在陣列))' –
@TomYates:爲什麼轉換爲'list'? 'zip(* array)'相當於沒有不必要的轉換(儘管你需要將'zip''tuple's轉換回'str'。 – ShadowRanger