У меня есть словарь с IP-адресами и их свободное пространство памяти. Я пытаюсь сохранить IP для одной переменной и следующей самой высокой для одной переменной.Python dict key с максимальным значением
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 после удаления {' 192.168.100.102' : '1620', '192.168.100.101': '1615'}
nnip 192.168.100.102
Почему печать 192.168.100.103
как rmip
? Разве это не самая высокая ценность? то есть 192.168.100.102
, а затем 101
как nnip
?
или изменить значения masterdict как ints, а текущая функция 'max' будет работать – depperm
Большое спасибо. Это отлично работает. @depperm Umm no. Этот дикт создан таким образом. Я беру значения памяти из группы виртуальных машин. И они сохраняются как струны. Я не слишком уверен, как это изменить. – Aditya