#python
#python
Вопрос:
Моя цель — напечатать словарь, где ключами являются введенные числа, а значениями являются квадраты этих чисел. Например, если индекс равен my_list= 1, 2, 3, 4
, то скрипт должен печатать {1:1, 2:4, 3:9, 4:16}
.
AttributeError
Произошла фраза:
объект ‘list’ не имеет атрибута ‘split’
Я понял, что мне нужно определить список, чтобы я мог разделить. Я провел некоторое исследование о том, как определить список для простого понимания, и мне сказали, что int(.split())
это может быть полезно. Я предполагаю, что мне нужно преобразовать список в целые числа?
Это то, что я пробовал в начале:
print({num: num ** 2 for num in my_list.split()})
Комментарии:
1.
split
это метод наstring
, который принимает необязательный параметр, который превращает его вlist
элементы, разделенные этим параметром; например,'wild-goose-chase'.split('-')
становится['wild', 'goose', 'chase']
Ответ №1:
вы можете выполнять итерацию по списку напрямую, без разделения, попробуйте это:
my_list = [1, 2, 3, 4]
print({num: num ** 2 for num in my_list})
вывод:
{1:1, 2:4, 3:9, 4:16}