На этом шаге мы закончим изучение этого вопроса.
Рассмотрим уже обсуждавшуюся на прошлом шаге задачу с зарплатами сотрудников: по ассоциативному массиву со строковыми ключами и целочисленными значениями создать новый список из кортежей (ключ, значение), таких, что соответствующее ключу значение больше или равно 100 000. Соответствующий код приведен в примере 2.1.
## Данные employees = {'Alice': 100000, 'Bob': 99817, 'Carol': 122908, 'Frank': 88123, 'Eve': 93121} ## Однострочник top_earners = [(k, v) for k, v in employees.items() if v >= 100000] ## Результат print(top_earners)
Каковы же будут результаты выполнения этого фрагмента кода?
Рассмотрим этот однострочник подробнее.
top_earners = [(1)(k, v) (2)for k, v in employees.items() if v >= 100000]
Выражение (1): создает простой кортеж (ключ, значение) для переменных контекста k и v.
Контекст (2): метод ассоциативного массива dict.items() обеспечивает проход переменной контекста k в цикле по всем ключам ассоциативного массива, а переменной контекста v - в цикле по соответствующим переменной контекста k значениям, но только если значение переменной контекста v равно или больше 100 000, в соответствии с условием if.
Результат выполнения этого однострочника выглядит следующим образом:
print(top_earners) # [('Alice', 100000), ('Carol', 122908)]
В этой простой однострочной программе мы познакомились с важным понятием спискового включения. Такие включения используются во многих примерах, поэтому хорошо разберитесь с примерами предыдущего шага.
На следующем шаге мы рассмотрим поиск информативных слов с помощью спискового включения.