Задать вопрос
@whoareyoutofuckinglecture
Python developer

Как написать лямбда функцию, генерирующую словарь?

Привет!
Мне необходимо написать лямбда-функцию, которая бы сгенерировала словарь, выглядящий вот таким образом: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

Я совершенно не знаком с лямбдами, пытался найти в гугле нормальный мануал по ним, но везде натыкался или на перепечатку одной и той же статьи, которая не даёт нужной инфы, либо на короткие заметки, что такое лямбды и когда их использовать.
Помогите, пожалуйста.
А так же буду благодарен за наводку на хорошую статью, где понятно объяснят новичку, как пользоваться лямбдами в Питоне

Спасибо!

UPD.: Писал вот так {lambda x: '{}:{}'.format(x, x * x), range(82)} (0), но IDE ругается. А как правильно написать я не знаю..

UPD2.: Lambda-выражения хорошо описаны в книге Марка Лутца "Изучаем Python". Если кто-нибудь столкнулся с необходимостью их изучить, очень рекомендую этот учебник.
  • Вопрос задан
  • 1114 просмотров
Подписаться 2 Простой Комментировать
Решение пользователя Станислав Некрасов К ответам на вопрос (2)
Держи.
gen_dict = (lambda x=82: dict([(y, y*y) for y in range(x)]))

print(gen_dict())
Ответ написан