Это не то, как словари или списки работают в Python. Доступ к значениям списка осуществляется по их индексу, а не по самому значению. Доступ к значениям словаря осуществляется любым ключом для этого значения. Итак, в вашем примере, чтобы найти все ключи больше значения ввода, код должен выглядеть следующим образом:
Получить ввод и превратить ввод, который мы предполагаем, будет числом, в целое число.
min_value = int(input('Enter the minimum key value to search for: '))
Добавьте список, к которому мы добавим соответствующие значения.
valid_values = []
Перебирать ключи в словаре, проверяя, не превышает ли оно заданное минимальное значение.
for key in dictionary:
if key > min_value:
valid_values.append(key)
И это все. У вас есть список со всеми значениями, превышающими введенное число.
Более эффективный способ сделать это - использовать понимание списка, например так:
valid_values = [key for key in dictionary if key > min_value]
В коде понимания списка вы просите его дать вам ключ для каждого ключа в словаре. если ключ больше минимального значения, а затем поместите его в список, к которому относится valid_values
.
Надеюсь, это поможет!
WebKit (и следовательно, Chrome) ведут себя странно с location.hash. Существует несколько открытых ошибок об этом, самое соответствующее является, вероятно, этим: https://bugs.webkit.org/show_bug.cgi? id=24578, который документирует Вашу проблему наличия обновления страницы, когда location.hash изменяется. Похоже, что Ваш наилучший вариант прямо сейчас состоит в том, чтобы скрестить Ваши пальцы и надеяться, что это быстро фиксируется.
Я не могу воспроизвести ошибку в IE7, хотя, и Вы - первый человек в возрастах, я видел, что поддержки IE5.5, таким образом, я не могу действительно помочь Вам там ;)
Вы попытались создать скрытые ссылки на хеши и запустить щелчок даже по ним?
Как насчет location.href = '#yourhash';
Может быть, это обходит ошибку.
Я также имел эту проблему. Моя ситуация позволила мне создать мероприятие Unibind окна, которое установило хеш со значением, которое я тоже хотел, чтобы он был в качестве браузера пользователя на следующую страницу или обновленную. Это работало для меня, но не уверена, что это будет работать для вас.
с jQuery, я сделал:
if($.browser.webkit){ $(window).unload(function() { top.window.location.hash = hash_value; }); }else{ top.window.location.hash = hash_value; }
Технически вам не нужно делать проверку WebKit, но я подумал, что люди, которые используют Firefox, может быть приятно видеть правильное значение хеша, прежде чем они обновляют фрейметы.
-jacob