簡體   English   中英

將字典鍵排序到列表中

[英]Sort dict keys into list

我有一個字典,其中包含每個 IP 的 IP 地址和高清空間。

{'192.168.100.102':'7.3G','192.168.100.103':'3.5G','192.168.100.101':'7.4G','192.168.100.100.17'

我想把空間最大的三個IP放到一個列表中。 這可能嗎?

從值中切下尾隨的'G'部分,並將它們轉換為排序鍵中的float

ips = {'192.168.100.102': '7.3G', '192.168.100.103': '3.5G', '192.168.100.101': '7.4G', '192.168.100.107': '17G'}

sorted_ips = sorted(ips, key=lambda x: float(ips[x][:-1]), reverse=True)[:3]
print(sorted_ips)
# ['192.168.100.107', '192.168.100.101', '192.168.100.102']

這應該有效:

ips = {'192.168.100.102': '7.3G', '192.168.100.103': '3.5G', '192.168.100.101': '7.4G', '192.168.100.107': '17G'}
sorted(ips, key=ips.get)[:3]

實際上,由於每個值中的 G,這不起作用,請使用下面的@Moses Koledoye 的答案。

暫無
暫無

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

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