是否有一个紧凑的oneliner或python习惯用法来处理以下任务?你知道吗
我想像这样变换元组列表:
input = [[(1,2,3),(4,5,6)],[(7,8,9),(10,11,12)]]
对此:
output [[1,2,3,7,8,9], [4,5,6,10,11,12]]
使用地图和压平列表只给了我以下几点
input_trans = map(list, zip(*input))
input_trans_flat = [item for sublist in input_trans for item in sublist]
Out: [(1, 2, 3), (7, 8, 9), (4, 5, 6), (10, 11, 12)]
非常感谢!你知道吗
可以将list comprehension与^{} 一起使用,如下所示:
输出:
您应该能够使用
sum
将Blckknght's answer泛化为列表中任意数量的元组。你知道吗我会做:
正如您已经知道的,
zip
部分转换列表的外部列表。然后我抓取每一对元组并连接它们,然后将组合的元组变成一个列表。如果您不关心最后是列表列表还是元组列表,那么可以去掉list
调用。你知道吗相关问题 更多 >
编程相关推荐