簡體   English   中英

如何在字典中找到具有最高值的 (n) 個鍵並將它們存儲在一個集合中?

[英]How to find the (n) keys with the highest values in a dictionary and store these in a set?

我想知道如何從具有最高值的字典中提取 4 個鍵,並將它們存儲為一個集合。 我的字典是這樣的:my_dict = {Suzanne: 6, Peter: 9, Henry: 2, Paula: 275, Fritz: 1, Anita: 80}。 (在這種情況下,所需的輸出是集合 my_set = {Paula, Anita, Peter, Suzanne}

我使用命令整理出字典中存在的最高值

排序(my_dict,key=my_dict.get,reverse=True)[:4]。

創建包含這四個鍵的集合的命令是什么?

創建包含這四個鍵的集合的命令是什么?

使用setsorted返回的list轉換為set ,即

my_dict = {"Suzanne": 6, "Peter": 9, "Henry": 2, "Paula": 275, "Fritz": 1, "Anita": 80}
top = set(sorted(my_dict, key=my_dict.get, reverse=True)[:4])
print(top)

給出輸出

{'Paula', 'Suzanne', 'Anita', 'Peter'}

只需從sorted()返回的列表中創建一個集合。 請注意,不需要顛倒排序順序,因為您可以獲得具有不同切片的最高 4 個元素,如下所示:

my_dict = {"Suzanne": 6, "Peter": 9, "Henry": 2, "Paula": 275, "Fritz": 1, "Anita": 80}
top = set(sorted(my_dict, key=my_dict.get)[-4:])
print(top)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM