Функция Python, которая генерирует и возвращает словарь для чисел от 1 до n, где n вводится - PullRequest
0 голосов
/ 16 июня 2020

Напишите функцию Python, которая генерирует и возвращает словарь, где ключи представляют собой числа от 1 до n (оба включительно), а значения представляют собой квадрат ключей. Мой ответ:

#PF-Prac-9
def generate_dict(number):
    d=dict()
    for i in range(1,number+1):
        d.__setitem__(i,i*i)



    return d

может быть оптимальнее?

Ответы [ 3 ]

5 голосов
/ 16 июня 2020

Вы также можете использовать понимание словаря

def generate_dict(number):
    return {i:i**2 for i in range(1,number+1)}

print(generate_dict(5))
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
2 голосов
/ 16 июня 2020

Вы можете попробовать

def generate_dict(number):
    d= {}
    for i in range(1,number+1):
        d[i] = i ** 2
    return d
print(generate_dict(10))

Вывод

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

Это вернет вам словарь, в котором ключи представляют собой числа от 1 до n, а значения представляют собой квадрат ключа.

1 голос
/ 16 июня 2020

Вы можете попробовать это

def generate_dict(number):
    return dict([(i,i**2) for i in range(1,number+1)])

generate_dict(5)

вывод

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...