首页 > 解决方案 > 两个列表的操作

问题描述

假设我有一个包含单个长度元素的列表;

['z', 'x', 'y']

另一个有两个长度元素的列表;

[('x', 7), ('y', 1), ('z', 5)]

如何重新排列第二个列表,以便它的第一个元素(即 x、y、z ...)与第一个列表中的元素(即 z、x、y)的顺序完全相同,以便获得输出;

[('z', 5), ('x', 7), ('y', 1)]

标签: python

解决方案


第二个列表可以简单地转换为字典,然后列表推导使其变得简单:

a = ['z', 'x', 'y']
b = dict([('x', 7), ('y', 1), ('z', 5)])
c = [(key, b[key]) for key in a]

推荐阅读