Python |将多列表中相同索引的元素分组
原文:https://www . geesforgeks . org/python-group-elements-at-at-indexes-in-a-a-multi-list/
将 2D 列表展平为一个是许多领域面临的常见问题。但有时我们需要将特定索引处的元素配对为一个,这样各个索引处的元素就在一起了。这个问题并不常见,但有一个解决方案还是有帮助的。
让我们讨论在特定索引处配对元素的某些方法。
方法#1:使用列表理解+ zip()
列表理解可以用来实现这个特殊的任务,以及将相似的索引配对在一起的 zip 功能。这个方法只是简单方法的简写。
# Python3 code to demonstrate
# index list elements pairing
# using list comprehension
# initializing list
test_list = [[1, 4, 5], [4, 6, 8], [8, 3, 10]]
# printing original list
print ("The original list is : " + str(test_list))
# using list comprehension
# to perform index list elements pairing
res = [list(x) for x in zip(*test_list)]
# printing result
print ("The index elements pairs list is " + str(res))
Output:
The original list is : [[1, 4, 5], [4, 6, 8], [8, 3, 10]]
The index elements pairs list is [[1, 4, 8], [4, 6, 3], [5, 8, 10]]
方法 2:使用map() + zip()
map
函数可以将每个迭代结果映射到单个列表中,而zip
函数执行索引元素配对。这种结合可以用来达到预期的效果。
# Python3 code to demonstrate
# index list elements pairing
# using map() + zip()
# initializing list
test_list = [[1, 4, 5], [4, 6, 8], [8, 3, 10]]
# printing original list
print ("The original list is : " + str(test_list))
# using map() + zip()
# to perform index list elements pairing
res = list(map(list, zip(*test_list)))
# printing result
print ("The index elements pairs list is " + str(res))
Output:
The original list is : [[1, 4, 5], [4, 6, 8], [8, 3, 10]]
The index elements pairs list is [[1, 4, 8], [4, 6, 3], [5, 8, 10]]
方法三:使用zip()
单独使用zip
功能就可以了,只需要将其类型转换为列表,以列表格式打印结果即可。这是完成这项任务的最敏捷的方式,也是最优雅的方式。
# Python3 code to demonstrate
# index list elements pairing
# using zip()
# initializing list
test_list = [[1, 4, 5], [4, 6, 8], [8, 3, 10]]
# printing original list
print ("The original list is : " + str(test_list))
# using zip()
# to perform index list elements pairing
res = list(zip(*test_list))
# printing result
print ("The index elements pairs list is " + str(res))
Output:
The original list is : [[1, 4, 5], [4, 6, 8], [8, 3, 10]]
The index elements pairs list is [(1, 4, 8), (4, 6, 3), (5, 8, 10)]
版权属于:月萌API www.moonapi.com,转载请注明出处