我有 2 个列表,如下所示。我希望根据 list50
list100
进行排序
list50 = ['cat', ,'bat', 'cat', 'cat', 'bat', 'No Data', 'bat', 'No Data']
list100 = [('cat', 100),
('cat', 100),
('cat', 100),
('bat', 67),
('bat', 67),
('bat', 67),
('No Data', 40),
('No Data', 40)]
我希望将列表 list100
更改为
[('cat', 100),
('bat', 67),
('cat', 100),
('cat', 100),
('bat', 67),
('No Data', 40),
('bat', 67),
('No Data', 40)
]
有什么方法可以实现吗?
最佳答案
您可以将 list100
转换为字典,然后简单地列出 list50
中的项目及其在字典中的值:
d = dict(list100)
[(k, d[k]) for k in list50]
这将返回:
[('cat', 100), ('bat', 67), ('cat', 100), ('cat', 100), ('bat', 67), ('No Data', 40), ('bat', 67), ('No Data', 40)]
关于python - 根据其他列表中的元素对元组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54423328/