![](/img/trans.png)
[英]Add values of keys and sort it by occurrence of the keys in a list of dictionaries in Python
[英]Sort a list of dictionaries without knowing the keys/values
我的代碼中的函數 ( F1
) 返回字典列表。 我需要對這個字典列表進行排序並打印出來。 我們是升序還是降序對列表進行排序並不重要,只要它們是一致的。 問題是, F1
每次都可能返回完全不同的字典列表:長度、鍵、值,一切都可能不同,而我無法提前知道。
我如何安全且一致地對這樣的列表進行排序? 我有這個:
sorted_list = sorted(list_to_be_sorted, key=lambda k: k['name'])
但它在我的情況下不起作用,因為我可能有一個不包含“名稱”的列表。
一種解決方案是使用dict.get
。 如果字典中不存在鍵,則返回None
(或其他默認值,如果需要):
sorted_list = sorted(list_to_be_sorted, key=lambda k: k.get('name'))
假設所有鍵都相同,這可能是您需要的:
list_to_be_sorted = [{"name": 3}, {"name": 2}, {"name": 4}, {"name": 1}]
sorted_list = sorted(list_to_be_sorted, key=lambda k: k[[*k][0]])
輸出:
[{'name': 1}, {'name': 2}, {'name': 3}, {'name': 4}]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.