@Golickoff

Что делает указанная строка кода?

Всем привет. Есть такая строка кода:
print(*map(lambda x: ''.join(x), m), sep='\n')
Я не понимаю что делает знак умножения перед map и не могу понять что делает лямбда-функция. Откуда она берёт x?
  • Вопрос задан
  • 227 просмотров
Решения вопроса 1
@MAGistr_MTM
Учусь программировать
map и lambda - сокращенная запись функции. Что это значит:
Береться список m, потом для каждого его элемента применяется фукция lambda x: ''.join(x)(объединяет в строку все элементы). А * - распаковует список, передавая отдельные аргументы.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Скорее всего m - это список списков. Дочерние списки объединяются в строки и выводятся.
In [1]: m = [['a', 'b', 'c'], ['x', 'y', 'z']]

In [2]: print(*map(lambda x: ''.join(x), m), sep='\n')
abc
xyz
Ответ написан
half-life
@half-life
Вот, лови статью про распаковку в пайтоне.
Возможно это даст тебе какое-то понимание и расширит твои знания.
А может и нет. Кто тебя знает.
https://tproger.ru/translations/asterisks-in-pytho...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы