如何在一个列表更改(订单)时链接这两个列表 另一个列表遵循相同的数字
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)
答案 0 :(得分:1)
定义一个小辅助函数,根据其中一个列表对两个列表进行排序。
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)
答案 1 :(得分:0)
List2=[5,4,3,2,1]
List3=[2,4,6,8,10]
“更简单”的方法是制作一个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
返回:
[10, 8, 6, 4, 2]