链接两个列表python

时间:2017-10-16 18:46:05

标签: python python-3.6

如何在一个列表更改(订单)时链接这两个列表 另一个列表遵循相同的数字

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)

2 个答案:

答案 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]