繁体   English   中英

Python,字符串列表,行到列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM