Предмет: Информатика,
автор: gantonilyn656
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)
Grey0808:
Что сделать надо?
Ответы
Автор ответа:
2
В пятой строчке:
if type(e) == 'str':
Надо заменить 'str' на str, т.е. убрать кавычки
Или можете использовать
if isinstance(e, str):
Автор ответа:
1
Ответ:
строка 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.
Похожие вопросы
Предмет: Химия,
автор: БедныйCтудент
Предмет: Химия,
автор: dakancaa1
Предмет: Информатика,
автор: типоУмничка
Предмет: Обществознание,
автор: TARARAT
Предмет: История,
автор: ЛеонидЮрин