Remrans
12.04.2023 08:18

A = ['first', 1, 2, 3, 'second', 10, 20, 'third', 15, 56, 70, 'fourth', -50] my_dict = {}
current_str = None
for e in a
if type(e) == 'str'
my_dict[e] = []
current_str = e
else
my_dict[current_str].append(e)

print(my_dict)
Я не могу понять что не так, но выдаёт ошибку:
Traceback (most recent call last):
File (путь до проекта), line 9, in
my_dict[current_str]. append(e)
KeyError: None
(на языке python)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ChristenChy
12.02.2021 10:10

В пятой строчке:

if type(e) == 'str':

Надо заменить 'str' на str, т.е. убрать кавычки

Или можете использовать

if isinstance(e, str):

0,0(0 оценок)
Ответ:
Alexander0prokof
12.02.2021 10:10

строка 4: требуется ":"

Строка 5: type([object]) возвращает объект типа type, не str. Воспользуйтесь функцией isinstance(object, classinfo), где object - объект, требующий проверки типа, а classinfo - класс или кортеж классов.

[Справка]

isinstance(e, str) вернёт true, если e является str или false в ином случае

isinstance(e, (int, float, complex)) вернёт true, если e является int, float или complex и false в ином случае

строка 9: значение ключа dict не может быть None.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота