#python-2.7
#python #python-2.7 #словарь
Вопрос:
У меня есть словарь:
dict = {8.12: 4, 6.93: 2, 6.78: 2, 7.04: 2, 7.21: 2, 8.05: 4, 7.48: 2,
6.52: 0, 6.95: 2, 7.28: 2, 7.56: 2, 6.67: 0, 6.33: 2, 6.37: 1,
7.15: 1, 8.16: 5, 7.84: 3, 7.13: 2, 6.24: 0, 7.11: 3}
Я хочу получить все значения по ключу, который находится в диапазоне — 1. Например, как я могу получить все те значения, значение ключа которых находится между 7 и 9.
x = 8
print dict[range(x-1,x 1)]
Ответ №1:
что-то вроде:
for key in dict.keys():
if key >= x-1 and key <= x 1:
print dict[key]
Ответ №2:
Используя понимание, по-питоновски :
x=8
print([dict[key] for key in dict if x 1 >= key >= x-1])
Ответ №3:
Комментарии:
1. Это сработает, только если ключи являются целыми числами, используйте вместо >= x-1 и <=x 1
2. @Nicolas не могли бы вы просмотреть скриншот.
3. Я не понимаю, что я должен здесь просмотреть, код работает, но вы не использовали значение x, которое было частью вопроса, и вы не использовали поле -1, указанное в вопросе. Мой комментарий был о том, что использование > x-2 отличается от использования > = x-1, если существуют значения, которые больше, чем x-2, но меньше, чем x-1 -> если в качестве ключа используются нецелые (т. Е. плавающие) значения.