
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)

Ответы на вопрос

В пятой строчке:
if type(e) == 'str':
Надо заменить 'str' на str, т.е. убрать кавычки
Или можете использовать
if isinstance(e, str):



Ответ:
строка 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.



Ваш код пытается добавить элементы в словарь, используя ключ `current_str`. Однако, когда `current_str` равно `None`, происходит ошибка `KeyError: None`. Это происходит, потому что вы пытаетесь обратиться к ключу, которого не существует в словаре.
Ваш код должен инициализировать `current_str` как пустую строку, а не как `None`. Тогда, когда вы впервые встретите строку в списке, `current_str` будет иметь значение, и вы сможете добавить элементы в словарь.
Вот исправленный код:
```python A = ['first', 1, 2, 3, 'second', 10, 20, 'third', 15, 56, 70, 'fourth', -50] my_dict = {} current_str = ''
for e in A: if type(e) == str: my_dict[e] = [] current_str = e else: my_dict[current_str].append(e)
print(my_dict) ```
В этом коде `current_str` инициализируется как пустая строка, а не как `None`. Когда встречается строка в списке, она становится текущей строкой, и в словарь добавляется новая пустая список с этой строкой в качестве ключа. Затем, когда встречаются числа, они добавляются в список текущей строки.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili