所以,我的问题是,我想转我的列表行到例如列 列: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