Javascript-Objekt Hat Attribut

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

Python-Listen können nicht in separate Listen basierend auf Zeichen unterteilt werden, die in den Werten einer Liste vorkommen. Dies ist im Gegensatz zu Strings, deren Werte in eine Liste unterteilt werden können.

Wenn Sie versuchen, die split()-Methode zu verwenden eine Liste, erhalten Sie die Fehlermeldung "attributeerror: ‚Äòlist‚Äô object hat kein Attribut ‚Äòsplit‚Äô‚".

In diesem Handbuch erfahren Sie, was dieser Fehler bedeutet und warum Sie ihn möglicherweise in Ihrem Code finden. Außerdem fuhren wir ein Beispielszenario durch, um Ihnen bei der Lösung dieses Fehlers zu helfen.

attributeerror: ‘list’ Objekt hat kein Attribut ‘split’

Dieser Fehler teilt uns mit, dass wir versuchen, eine Funktion zu verwenden, die in Listen nicht verfugbar ist.

Der split() -Methode teilt einen String in eine Liste auf. Die Zeichenfolge wird an jeder Stelle unterbrochen, an der ein Trennzeichen erscheint. Sie k√∂nnen beispielsweise einen String in eine Liste aufteilen, die alle Werte enth√§lt, die nach einem Komma und einem Leerzeichen (", ‚") stehen:

Unser Code teilt die ‚ÄûKuchen‚" Zeichenfolge zwischen den Stellen, an denen ein Komma gefolgt von einem Leerzeichen steht. Diese Werte werden dann der Liste mit dem Namen "cake_list‚" hinzugefugt. Unser Code gibt Folgendes zuruck:

Die Operation split() funktioniert nur bei Strings.

Ein Beispielszenario

Wir haben ein < eine href="/python-csv-module/">CSV-Datei mit Informationen zu Kuchen, die in einem Teehaus verkauft werden. Wir möchten den Namen jedes Kuchens in die Python-Shell ausdrucken, damit Kunden auswählen können, was sie zu ihrem Getränk haben möchten.

81 % der Teilnehmer gaben an, dass sie sich ihrer Technologie sicherer fuhlen Berufsaussichten nach dem Besuch eines Bootcamps. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Unsere CSV-Datei sieht so aus :

Unsere Datei enthält drei Einträge: einen fur Käse-Scones, einen fur geröstete Teekuchen und einen fur Fruchtebrot. Wir lesen diese Datei in unser Programm ein, damit wir auf unsere Werte zugreifen können:

Dieses Programm liest die " Kuchen.csv‚" Datei. Es verwendet dann die Methode split(), um die Werte in jedem Datensatz aufzuteilen, sodass wir auf die Namen jedes Kuchens zugreifen k√∂nnen.

Wir verwenden die [0]-Indexierungssyntax, um auf das erste Element in einem Datensatz zuzugreifen. Dies entspricht dem Namen von einen Kuchen.

Lassen Sie unseren Code ausfuhren und sehen, was passiert:

Unser Code gibt wie erwartet einen Fehler zuruck.

Die Lösung

Wir versuchen, den split()-Methode in einer Liste. Lassen Sie uns den Inhalt von "cakes‚" an die Konsole ausgeben:

Unser Code gibt Folgendes zuruck:

Unser Code kann eine Liste nicht mit split() in mehrere Listen aufteilen. Dies liegt daran, dass Listen bereits durch Kommas getrennt sind. Stattdessen sollten wir die Methode split() fur jedes Element in unserer Liste verwenden.

Wir k√∂nnen dies mit einem for-Schleife zum Durchlaufen jeder Zeile in der "cakes.csv‚" file:

Wir haben eine for-Schleife initialisiert, die jede Zeile im " Kuchen‚" Variable. Wir verwenden die Methode split(), um jeden Stringwert in der Liste durch das ", ‚"Stringmuster zu teilen. Dies bedeutet, dass die Kuchennamen, Preise und der Vegetarierstatus in eine Liste unterteilt werden.

In der letzten Zeile unseres Codes verwenden wir split_lines[0] um den ersten Eintrag in jeder neuen Liste auszudrucken. Dies ist gleich dem Namen jedes Kuchens. Versuchen wir, unseren Code auszufuhren:

Unser Code druckt erfolgreich eine Kuchenliste aus. Dies liegt daran, dass wir keine Liste getrennt haben. Wir verwenden split(), um alle Elemente in jedem String, der in unserer Liste erscheint, zu trennen.

Schlussfolgerung

Der Fehler "attributeerror: ‚Äòlist‚Äô has no Attribut ‚Äòsplit‚Äô‚" wird ausgegeben, wenn Sie versuchen, eine Liste zu unterteilen in mehrere Listen mit der Methode split().

Sie lösen diesen Fehler, indem Sie sicherstellen, dass Sie nur split() fur einen String verwenden. Wenn Sie eine Datei in ein Programm einlesen, stellen Sie sicher, dass Sie split() fur jede einzelne Zeile der Datei verwenden und nicht eine Liste aller Zeilen.

Jetzt sind Sie bereit, diesen häufigen Python-Fehler wie ein Profi zu lösen!