Python attributeerror: объект `list` не имеет атрибута `split` Решение

| | | | | | | | | | | | | | | | | | | |

Списки Python нельзя разделить на отдельные списки на основе символов, которые появляются в значениях списка. Это отличается от строк, значения которых ‚Äã‚Äãмогут быть разделены в списке.

Если вы попытаетесь использовать split() в списке отображается ошибка "attributeerror: `list` the object has no `split` attribute" .

В этом руководстве мы объясним, что означает эта ошибка и почему вы может найти это в вашем коде. Мы также рассмотрим пример сценария, который поможет вам понять, как исправить эту ошибку.

ошибка атрибута: объект `list` не имеет атрибута `split`

Эта ошибка сообщает нам что мы пытаемся использовать функцию, которой нет в списках.

split() разбивает строку на список . Цепочка разрывается в каждой точке, где появляется символ-разделитель. Например, вы можете разделить строку на список, содержащий все значения, которые появляются после запятой и пробела (","):

Наш код разделяет строку "cakes" между позициями, где есть запятая, за которой следует пробел. Эти значения затем добавляются в список под названием "cake_list". Наш код возвращает:

Операция split() работает только со строками.

Пример сценария

У нас есть split(), чтобы разделить значения ‚Äã‚Äãв каждой записи, чтобы вы могли получить доступ к именам в каждом секторе.

Мы используем [ 0] синтаксис индекса для доступа к первому элементу записи. Это имя круговой диаграммы .

Давайте запустим наш код и посмотрим, что произойдет:

Наш код, как и ожидалось, выдает ошибку.

Решение

Попробуем использовать split() в списке. Выводим содержимое «тортов» на консоль:

Наш код возвращает:

Наш код не может отделить лишний список от списков с помощью split() . Это потому, что списки уже разделены запятыми. Вместо этого мы должны использовать метод split() для каждого элемента в нашем списке.

Мы можем сделать это с помощью для цикла для циклического прохождения каждой строки в файле "cakes.csv":

Мы инициализировали цикл for, который проходит через каждую строку переменной "пирожные". Мы используем метод split(), чтобы разделить каждое строковое значение в списке на строковый шаблон " , ‚". Это означает, что названия тортов, цены и вегетарианский статус должны быть разделены на список.

В последней строке нашего кода мы используем split_lines[0] для вывода первого элемента каждого нового списка. Это то же самое, что и имя каждого торта. Давайте попробуем запустить наш код:

Наш код успешно печатает список тортов. Это потому, что мы не разделяли список. Мы используем split(), чтобы разделить все элементы каждой строки, которая появляется в нашем список.

Заключение

Ошибка "attributeerror: список объектов" не имеет атрибутов разделения "Ошибка возникает при попытке разбить список на несколько списков с помощью метода split().

Устраните эту ошибку, используя split() только для строки. Если вы читаете файл в программе, обязательно используйте split() в каждой строке файла, а не список всех строк.

Вы теперь готовы исправить эту распространенную ошибку Python как профессионал!