Python for в одну строку
Python предоставляет возможность выполнять цикл for в одну строку, используя так называемое генераторное выражение. Генераторное выражение - это компактный способ создания последовательностей, которые могут быть использованы в цикле for или для создания других структур данных.
Примеры кода:
1. Пример 1: Вывести квадраты чисел от 1 до 10 в одну строку.
python
squares = [x**2 for x in range(1, 11)]
print(squares)
В этом примере мы используем генераторное выражение `[x**2 for x in range(1, 11)]` для создания списка `squares`, который содержит квадраты чисел от 1 до 10. Результат будет `[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]`.
2. Пример 2: Создать список из четных чисел от 1 до 20.
python
even_numbers = [x for x in range(1, 21) if x % 2 == 0]
print(even_numbers)
Здесь мы используем генераторное выражение `[x for x in range(1, 21) if x % 2 == 0]` для создания списка `even_numbers`, который содержит только четные числа от 1 до 20. Результат будет `[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]`.
3. Пример 3: Создать словарь, где ключами являются элементы списка, а значениями - их квадраты.
python
numbers = [1, 2, 3, 4, 5]
squared_dict = {x: x**2 for x in numbers}
print(squared_dict)
В этом примере мы используем генераторное выражение `{x: x**2 for x in numbers}` для создания словаря `squared_dict`, где ключами являются элементы списка `numbers`, а значениями - их квадраты. Результат будет `{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}`.
Генераторные выражения позволяют сократить объем кода и упростить чтение и понимание программы. Однако, в некоторых случаях, код может стать сложным для понимания, особенно если участвуют сложные вычисления или вложенные циклы. В таких случаях предпочтительнее использовать полноценные циклы for.