Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 操纵两个列表_Python - Fatal编程技术网

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)]