1.将两个列表合并为一个字典。
dict(zip(key, value)),注意前面是key,后面是value
>>> a = [4, 2, 7, 5]
>>> b = [3, 6, 4, 2]
>>> d = dict(zip(a, b))
>>> d
{4: 3, 2: 6, 7: 4, 5: 2}
2.对字典进行排序
用sorted()排序,默认的是对key进行正排序,若要逆序,加上reverse = True,输出结果为list列表
>>> sorted(d)
[2, 4, 5, 7]
>>> sorted(d.keys())
[2, 4, 5, 7]
>>> sorted(d.keys(), reverse = True)
[7, 5, 4, 2]
>>> sorted(d.values())
[2, 3, 4, 6]
>> sorted(d.items())
[(2, 6), (4, 3), (5, 2), (7, 4)]
3.把排序结果拆开
排序得到的是一个列表,列表中的每个元素是一个元组,把元组拆开,分别用两个列表是接收
>>> d = sorted(d.items())
>>> d
[(2, 6), (4, 3), (5, 2), (7, 4)]
>>> e = []
>>> f = []
>>> for i in d:
... e.append(i[0])
... f.append(i[1])
>>> e
[2, 4, 5, 7]
>>> f
[6, 3, 2, 4]
还有一种方法,对a列表进行排序,用argsort,得到排序的顺序,再用同样的顺序对b进行排序,这种方法我就不写了,如果还有别的方法,欢迎在评论区交流。