问题:我想根据另一个列表对一个列表进行排序。示例:下面我想根据此列表中的“键”对 list_sec 进行排序,并且该顺序将来自 list_main。
list_main = [3, 33, 2] list_sec = [{'key': 2, 'rocket': 'mark11'}, {'key': 332, 'rocket': 'mark23'}, {'key': 3, 'rocket': 'mark1'} ]
输出如下。(exp:list_main 中的第一个条目是 3,所以 ‘key’ : 3 应该到 index = 0,第二个值是 33,但是 list_sec 中缺少这个键,所以将丢弃它。第三个键是 2,所以接下来会出现。
output = [{'key': 3, 'rocket': 'mark1'}, {'key': 2, 'rocket': 'mark11'}]
试试这个简单的方法,它适用于你的情况
list_main = [3, 33, 2] list_sec = [{'key': 2, 'rocket': 'mark11'}, {'key': 332, 'rocket': 'mark23'}, {'key': 3, 'rocket': 'mark1'} ] sorted_list = [] # The final sorted list for key in list_main: # iterate on each key for item in list_sec: if item['key'] == key: # find the item based on your key sorted_list.append(item) # append in sequence print(sorted_list) # your sorted list
output = [{‘key’: 3, ‘rocket’: ‘mark1’}, {‘key’: 2, ‘rocket’: ‘mark11’}]