使用
zip,然后解压缩:
nums_and_words = [(1, 'one'), (2, 'two'), (3, 'three')]nums, words = zip(*nums_and_words)
实际上,这两次“解压缩”:首先,当您将列表传递给
zipwith时
*,然后将结果分配给两个变量。
您可以
zip(*list_of_lists)将参数视为“转置”:
zip(*[(1, 'one'), (2, 'two'), (3, 'three')])== zip( (1, 'one'), (2, 'two'), (3, 'three') )== [(1, 2, 3), ('one', 'two', 'three')]注意这会给你元组。如果您确实需要列表,则必须得到
map以下结果:
nums, words = map(list, zip(*nums_and_words))



