Отработка if в цикле for

JustSilence

Новичок
Пользователь
Июн 17, 2020
2
0
1
Доброй ночи! Изучаю язык и вот возник такой вопрос: есть пустой список и заполненный словарь. Я хочу добавлять значения из заполненного словаря в пустой список пока не наберется установленное количество:
Python:
dic = {
    'a' : 5000,
    'b' : 5874,
    'c' : 560,
    'd' : 400,
    'e' : 5874,
    'f' : 20
}
high_numbers = []

for number in dic:
     value = dic.get(number)
     print(value)
     if sum(high_numbers) < 3:
            #print("COUNT:", sum(high_numbers))
             high_numbers.append(value)

print(high_numbers)
Как я это понимаю: Для каждого ключа словаря "dic":
-> переменная для краткой формы значения ключа;
-> вывод каждого значения "текущего" ключа;
-> делаем проверку, если кол-во элементов в словаре < 3, то:
- добавляем значение;
Значения выводятся все, но условие отрабатывается лишь один раз. Почему так и как правильно необходимо делать?
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот пример (добавляет в список 3 элемента из массива):
Python:
dic = {
    'a': 5000,
    'b': 5874,
    'c': 560,
    'd': 400,
    'e': 5874,
    'f': 20
}
high_numbers = []

for number in dic:
    value = dic.get(number)
    print(value)
    if len(high_numbers) < 3:
        #print("COUNT:", sum(high_numbers))
        high_numbers.append(value)

print(high_numbers)
 
  • Мне нравится
Реакции: JustSilence

JustSilence

Новичок
Пользователь
Июн 17, 2020
2
0
1
Вот пример (добавляет в список 3 элемента из массива):
Python:
dic = {
    'a': 5000,
    'b': 5874,
    'c': 560,
    'd': 400,
    'e': 5874,
    'f': 20
}
high_numbers = []

for number in dic:
    value = dic.get(number)
    print(value)
    if len(high_numbers) < 3:
        #print("COUNT:", sum(high_numbers))
        high_numbers.append(value)

print(high_numbers)
аа, sum просто суммирует. Понял. Спасибо большое !
 

Форум IT Специалистов