Python 操纵两个列表
假设我有一个单长度元素的列表Python 操纵两个列表,python,Python,假设我有一个单长度元素的列表 ['z', 'x', 'y'] [('x', 7), ('y', 1), ('z', 5)] 和另一个包含两个长度元素的列表 ['z', 'x', 'y'] [('x', 7), ('y', 1), ('z', 5)] 如何重新排列第二个列表,使其第一个元素(即x,y,z…)的顺序与第一个列表中的元素(即z,x,y)的顺序完全一致,以便获得输出 [('z', 5), ('x', 7), ('y', 1)] 第二个列表可以简单地转换为字典,然后列表理解使其变
['z', 'x', 'y']
[('x', 7), ('y', 1), ('z', 5)]
和另一个包含两个长度元素的列表
['z', 'x', 'y']
[('x', 7), ('y', 1), ('z', 5)]
如何重新排列第二个列表,使其第一个元素(即x,y,z…)的顺序与第一个列表中的元素(即z,x,y)的顺序完全一致,以便获得输出
[('z', 5), ('x', 7), ('y', 1)]
第二个列表可以简单地转换为字典,然后列表理解使其变得简单:
a = ['z', 'x', 'y']
b = dict([('x', 7), ('y', 1), ('z', 5)])
c = [(key, b[key]) for key in a]
第二个列表可以简单地转换为字典,然后列表理解使其变得简单:
a = ['z', 'x', 'y']
b = dict([('x', 7), ('y', 1), ('z', 5)])
c = [(key, b[key]) for key in a]
您可以使用以下方法:
>>> list1 = ['z', 'x', 'y']
>>> list2 = [('x', 7), ('y', 1), ('z', 5)]
>>> dict2 = dict(list2)
>>> new_list = [(key, dict2[key]) for key in list1]
>>> new_list
[('z', 5), ('x', 7), ('y', 1)]
您可以使用以下方法:
>>> list1 = ['z', 'x', 'y']
>>> list2 = [('x', 7), ('y', 1), ('z', 5)]
>>> dict2 = dict(list2)
>>> new_list = [(key, dict2[key]) for key in list1]
>>> new_list
[('z', 5), ('x', 7), ('y', 1)]