Python attributeerror: объект `list` не имеет атрибута `split` Решение
array Python module |
ast Python module |
code Python module |
COM PHP module |
csv Python module |
dis Python module |
exp |
Expect PHP module |
io Python module |
JavaScript |
ones |
os Python module |
Python functions |
re Python module |
sep |
SPL PHP module |
StackOverflow |
stat Python module |
string Python module |
Strings PHP module |
UI PHP module
Michael Zippo
27.11.2021
Списки 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()
.