链接两个列表 python

linking two lists python

我怎样才能 link 这两个列表,所以当一个列表改变时(顺序) 另一个列表保持相同的数字

List2=[5,4,3,2,1]
List3=[2,4,6,8,10]

更改 list2 的顺序和预期输出

List2=[1,2,3,4,5]
List3=[10,8,6,4,2]

但是list2的顺序每次都会变但是总是需要改回1-5

(Python 3.6)

定义一个小辅助函数,根据其中之一对两个列表进行排序。

def revert(a, b):
    a, b = map(list, zip(*sorted(zip(a, b), key=lambda x: x[0])))
    return a, b

现在,在需要的时候调用这个函数。

List2, List3 = revert(List2, List3)
List2=[5,4,3,2,1]
List3=[2,4,6,8,10]

"easier" 方法是制作 dict3 的字典,并在重新制作列表 2 后使用它。像这样:

# Pair the lists
List3 = dict(zip(List2,List3))

# Remake List2
List2 = sorted(List2)

# Remake List3 based on List2
List3 = [List3[key] for key in List2]

List3

Returns:

[10, 8, 6, 4, 2]