[英]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.