Что выведет этот код?


a = [1, 2, 3, 4]
result = list(map(lambda x: x * 2, a))
print(result)

Этот код использует функцию map для применения анонимной функции (lambda) к каждому элементу списка a.

Lambda функция lambda x: x * 2 умножает каждый элемент на 2.

Результат преобразования, возвращаемый функцией map, преобразуется в список с помощью list().

В итоге, переменная result будет содержать список [2, 4, 6, 8], который и будет выведен на экран.


Объяснение кода и ожидаемый результат

Этот код демонстрирует использование функции map() вместе с лямбда-функцией для преобразования списка чисел.

Разберем код построчно:

  1. a = [1, 2, 3, 4]: Создается список a, содержащий целые числа 1, 2, 3 и 4.
  2. result = list(map(lambda x: x * 2, a)): Это ключевая строка.
    • map(lambda x: x * 2, a): Функция map() применяет функцию (в данном случае, лямбда-функцию) к каждому элементу списка a.
    • lambda x: x * 2: Это анонимная (лямбда) функция, которая принимает аргумент x и возвращает его удвоенное значение (x * 2).
    • Таким образом, map() применяет эту лямбда-функцию к каждому элементу списка a. Это создает итератор, содержащий результаты умножения каждого элемента на 2.
    • list(...): Функция list() преобразует итератор, возвращенный map(), в новый список.
  3. print(result): Выводит список result на консоль.

Ожидаемый результат:

После выполнения этого кода на консоль будет выведено следующее:

[2, 4, 6, 8]

Альтернативный способ (List Comprehension):

Эту же задачу можно решить с помощью list comprehension, что часто считается более читаемым:


a = [1, 2, 3, 4]
result = [x * 2 for x in a]
print(result)
  

Этот код выдаст тот же результат: [2, 4, 6, 8].

Вывод:

Код использует map() и лямбда-функцию для умножения каждого элемента списка на 2 и создает новый список с удвоенными значениями.

0