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