[英]Python, list of strings, rows into columns
所以,我的问题是,我想将我的列表行转换为列,例如:
[“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
用于将元组映射到字符串。
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 是您想要的最终列表
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.