Javascript-object heeft kenmerk
exp |
find |
JavaScript |
mean |
ones |
sep |
sin |
split
Michael Zippo
Python -lijsten kunnen niet worden onderverdeeld in afzonderlijke lijsten op basis van de tekens die voorkomen in de waarden ​​van een lijst. Dit is anders dan tekenreeksen waarvan de waarden ​​in een lijst kunnen worden gescheiden.
Als u probeert de split () te gebruiken a> methode op een lijst, wordt de fout "attributeerror: `list` the object has no `split` attribuut " weergegeven .
In deze handleiding leggen we uit wat deze fout betekent en waarom u misschien vindt u het in uw code. We bekijken ook een voorbeeldscenario om u te helpen begrijpen hoe u deze fout kunt oplossen.
kenmerkfout: `list`-object heeft geen `split`-kenmerk
Deze fout vertelt ons dat we een functie proberen te gebruiken die niet beschikbaar is in de lijsten.
De split ()
splitst een string in een lijst . De ketting wordt verbroken op elk punt waar een scheidingsteken verschijnt. U kunt bijvoorbeeld een tekenreeks opsplitsen in een lijst die alle waarden bevat ​​die verschijnen na een komma en een spatie (","):
Onze code scheidt de string "cakes" tussen posities waar een komma staat gevolgd door een spatie. Deze waarden "worden vervolgens toegevoegd aan de lijst met de naam "cake_list". Onze code retourneert:
De bewerking split ()
werkt alleen op strings.
Een voorbeeldscenario
We hebben een split () om de waarden ​​in elk record te splitsen, zodat u toegang hebt tot de namen in elke sector.
We gebruiken de [ 0] indexsyntaxis om toegang te krijgen tot het eerste element van een record. Dit is de naam van een taart .
Laten we onze code uitvoeren en kijken wat er gebeurt:
Onze code geeft, zoals verwacht, een fout.
De oplossing
Laten we proberen split ()
in een lijst te gebruiken. We printen de inhoud van "cakes" op de console:
Onze code retourneert:
Onze code kan een extra lijst niet scheiden van de lijsten met behulp van split ()
. Dit komt omdat de lijsten al zijn gescheiden door komma`s. In plaats daarvan moeten we de methode split ()
gebruiken voor elk item in onze lijst.
We kunnen dit doen door een for loop om door elke regel in het bestand "cakes.csv" te bladeren:
We hebben een for-lus geïnitialiseerd die door elke regel van de variabele gaat "koekjes". We gebruiken de split ()
methode om elke tekenreekswaarde in de lijst te delen door het tekenreekspatroon " , . Dit betekent dat de namen van de taarten, de prijzen en de vegetarische status moeten worden verdeeld in een lijst.
In de laatste regel van onze code gebruiken we split_lines [0]
om het eerste element van elke nieuwe lijst af te drukken. Het is hetzelfde als de naam van elke cake. Laten we proberen onze code uit te voeren:
Onze code drukt met succes een lijst met taarten af. Dit komt omdat we geen lijst hebben gescheiden. We gebruiken split ()
om alle elementen van elke tekenreeks die in onze lijst.
De fout "attributeerror: object` list `has no` split `attributes "De fout treedt op wanneer u een lijst in meerdere lijsten probeert te splitsen met behulp van de split ()
-methode.
U zijn nu klaar om deze veelvoorkomende Python-fout als een professional op te lossen!