Я пытаюсь в течение 2 часов получить первое вхождение пары ключ-значение, которая имеет определенное значение. (кортежи - это ключи, значения - целые числа).
Почему это актуально? Диктовка отсортирована по ключам.
Я могу pprint () диктовать, и я вижу, что первое вхождение - это то, что я хочу - НО, итерируя по dict и выпуская первое вхождение с помощью itemgetter, выдает кортеж WRONG.
Код для запуска здесь: https://repl.it/repls/WatchfulStridentLight
Относящиеся к делу строки - от 54 до 86 (обратите внимание на большие разделы отладки)
pprint([k for k,v in allsmall.items() if v>=maxb]) #HERE, the 2nd tuple IS WHAT I WANT, the correct value
Это было бы мое решение, чтобы получить первый случай из pprint:
print(max(allsmall.items(), key=operator.itemgetter(1))[0]) #almost minimum
Но он получает 2-й случай ?!
Это полностью нарушает порядок:
print(max(allsmall.items(), key=operator.itemgetter(0))[0])
Ожидается: Доступ к первому вхождению возможен, потому что pprint () печатает его правильно
Фактически: я получаю второй случай ....