Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Как создать словарь по типу X:X*X от 1 до n, используя map()

#python #map #dict #функциональное_программирование


Как создать словарь по типу X:X*X длиной от 1 до n c Map. Должно получиться:

{1: 1,
 2: 4,
 3: 9,
 4: 16,
 5: 25,
 6: 36,
 7: 49,
 8: 64,
 9: 81,
 10: 100,
 11: 121,
 12: 144,
 13: 169,
 14: 196,
 15: 225,
 16: 256,
 17: 289,
 18: 324,
 19: 361,
 20: 400}




numbers=[]
for x in range(1,6):
  numbers = map(lambda x: x**2, range(1,10))
print(numbers)

    


Ответы

Ответ 1



In [71]: n = 10 In [72]: d = dict(map(lambda x: (x,x**2), range(1, n+1))) In [73]: d Out[73]: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100} PS но использование map в данном случае, по-моему, извращение Если бы не условие использовать map() я бы делал это так: In [76]: d = {i:i**2 for i in range(1, n+1)} In [77]: d Out[77]: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100} выглядит гораздо понятнее...

Комментариев нет:

Отправить комментарий