Python,字符串列表,行到列

时间:2016-09-22 15:15:34

标签: python

所以,我的问题是,我想将列表行转换为列 例如:

[“AAA”,“BBB”,“CCC”] => [“ABC”,“ABC”,“ABC”]

无法找到有效的方法。

3 个答案:

答案 0 :(得分:3)

您可以简单地使用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用于将元组映射到字符串。

答案 1 :(得分:2)

a = ["AAA", "BBB", "CCC"]
print ([''.join(i) for i in zip(*a)])

答案 2 :(得分:0)

所以这假设您在处理示例中的字符串,但是您可以扩展算法来处理您遇到的任何数据类型,逻辑将保持不变。

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是您想要的最终列表