Python字典键具有最大值

2024-04-25 21:25:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字典,里面有IP地址和它们的可用内存空间。 我正在尝试将IP保存到一个变量,并将下一个最高的IP保存到另一个变量。在

masterdict: {'192.168.100.102': '1620', '192.168.100.103': '470', '192.168.100.101': '1615'} 

print masterdict

rmip = max(masterdict, key=masterdict.get)

print "<br>rmip<br>"
print rmip 

del masterdict [rmip]

print "<br>masterdict after deletion<br><br>"
print masterdict

nnip = max(masterdict, key=masterdict.get)

print "<br>nnip<br>"
print nnip

但我得到的结果是:

masterdict {'192.168.100.102': '1620', '192.168.100.103': '470', '192.168.100.101': '1615'}

rmip 192.168.100.103

masterdict after deletion {'192.168.100.102': '1620', '192.168.100.101': '1615'}

nnip 192.168.100.102

为什么要将192.168.100.103打印为rmip?它不应该是价值最高的那个吗?i、 e.192.168.100.102然后101作为nnip?在


Tags: keybripget字典空间max价值
1条回答
网友
1楼 · 发布于 2024-04-25 21:25:54

字典中的值是字符串,因此max将它们作为字符串进行比较。如果要将它们作为整数进行比较,则需要使用key函数将字符串转换为整数…:

rmip = max(masterdict, key=lambda key: int(masterdict[key])

或者将值更改为int,然后使用当前的max语句:

^{pr2}$

相关问题 更多 >