map()
вместе с лямбда-функцией:
numbers = [1, 2, 3, 4, 5]
squares = list(map(lambda x: x**2, numbers))
print(squares) # Output: [1, 4, 9, 16, 25]
Здесь lambda x: x**2
возводит каждый элемент x
из списка numbers
в квадрат. list()
преобразует результат map()
в список.
Преобразовать список чисел в их квадраты с помощью функции map()
в Python можно несколькими способами, но основная идея заключается в применении функции возведения в квадрат к каждому элементу списка.
Пример 1: Использование lambda-функции
<p><strong>Python:</strong></p>
<pre><code class="python">
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers) # Вывод: [1, 4, 9, 16, 25]
</code></pre>
В этом примере мы используем lambda
-функцию, которая принимает число x
и возвращает его квадрат (x**2
). Функция map()
применяет эту lambda
-функцию к каждому элементу списка numbers
. Результат map()
преобразуется в список с помощью list()
.
Пример 2: Использование обычной функции
<p><strong>Python:</strong></p>
<pre><code class="python">
def square(x):
return x**2
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(square, numbers))
print(squared_numbers) # Вывод: [1, 4, 9, 16, 25]
</code></pre>
Здесь мы определяем обычную функцию square(x)
, которая возвращает квадрат числа. map()
использует эту функцию для каждого элемента списка.
Объяснение работы map()
:
map(function, iterable)
принимает два аргумента: функцию и итерируемый объект (например, список).map()
применяет функцию к каждому элементу итерируемого объекта.map()
возвращает итератор, который генерирует результаты применения функции. Чтобы получить список, итератор необходимо преобразовать в список с помощью list()
.Важно помнить: Результат map()
в Python 3 является итератором, а не списком. Поэтому для получения списка необходимо использовать list()
.