基于元组列表排序元组列表 – Python

我试图通过该列表中的键来基于另一个元组列表对元组列表进行排序.

说我有以下内容:

list1 = [(5, 'something'),(2,'bobby'),(9,'suzy'),(6,'crab')]
list2 = [('something','othervalues'),('suzy','stuff'),('bobby','otherthings')]

从这里我将收到list1中每个元组的第一个元素的输出.

sorted = [('suzy','stuff'),('something','othervalues'),('bobby','otherthings') ]

所以基本上它执行一个交集,然后通过list1元组中的第一个元素对剩余值进行排序.

我不知道该怎么做,所以任何帮助都会很棒.

解决方法:

只需执行描述所说的内容,按照该列表中的键,根据另一个元组列表对元组列表进行排序:

rank = {key:rank for rank, key in list1}
print(sorted(list2, key=lambda t: rank.get(t[0]), reverse=True))
上一篇:python – 从元组列表中删除值


下一篇:将字符串列表转换为python中的元组列表