#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} выглядит гораздо понятнее...
Комментариев нет:
Отправить комментарий