所以,我的问题是,我想将列表行转换为列 例如:
[“AAA”,“BBB”,“CCC”] => [“ABC”,“ABC”,“ABC”]
无法找到有效的方法。
答案 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是您想要的最终列表