L’Oggetto Javascript Ha Un Attributo

| | | | | | | | | | | | | | | | | | | |
Gli elenchi

Python non possono essere divisi in elenchi separati in base ai caratteri che appaiono nei valori di un elenco. Questo è diverso dalle stringhe i cui valori possono essere separati in un elenco.

Se provi a utilizzare il metodo split() su un elenco, viene visualizzato l’errore "attributeerror: ‚Äòlist‚Äô l’oggetto non ha alcun attributo ‚Äòsplit‚Äô".

In questa guida, parliamo di cosa significa questo errore e perché potresti trovarlo nel tuo codice. Esaminiamo anche uno scenario di esempio per aiutarti a capire come risolvere questo errore.

errore attributo: ‚Äòlist‚Äô l’oggetto non ha attributo ‚Äòsplit‚Äô

Questo errore ci dice che stiamo cercando di utilizzare una funzione che non è disponibile nelle liste.

Il split() divide una stringa in una lista. La stringa viene spezzata in ogni punto in cui appare un carattere separatore. Ad esempio, puoi dividere una stringa in un elenco che contiene tutti i valori che compaiono dopo una virgola e uno spazio (", "):

Il nostro codice divide il "torte" stringa tra le posizioni in cui è presente una virgola seguita da uno spazio. Questi valori vengono quindi aggiunti all’elenco chiamato "cake_list". Il nostro codice restituisce:

L’operazione split() funziona solo sulle stringhe.

Uno scenario di esempio

Abbiamo un < un href="/python-csv-module/">file CSV che contiene informazioni sulle torte vendute in una casa da tè. Vogliamo stampare il nome di ogni torta sulla shell Python in modo che i clienti possano scegliere cosa vogliono avere con la loro bevanda.

Il nostro file CSV sembra questo:

Il nostro file contiene tre voci: una per le focaccine al formaggio, una per i teacake tostati e una per il pane alla frutta. Abbiamo letto questo file nel nostro programma in modo da poter accedere ai nostri valori:

Questo programma legge il " torte.csv" file. Quindi utilizza il metodo split() per suddividere i valori in ogni record in modo da poter accedere ai nomi di ogni torta.

Utilizziamo la [0] sintassi di indicizzazione per accedere al primo elemento di un record. Questo corrisponde al nome di una torta.

Eseguiamo il nostro codice e vediamo cosa succede:

Il nostro codice, come previsto, restituisce un errore.

La soluzione

Cerchiamo di utilizzare split() in una lista. Stampiamo il contenuto di "cakes" sulla console:

Il nostro codice restituisce:

Il nostro codice non può separare un elenco in più elenchi utilizzando split(). Questo perché gli elenchi sono già separati da virgole. Invece, dovremmo usare il metodo split() su ogni elemento della nostra lista.

Possiamo farlo usando un for loop per scorrere ogni riga nel file "cakes.csv" file:

Abbiamo inizializzato un ciclo for che attraversa ogni riga del " torte" variabile. Usiamo il metodo split() per dividere ogni valore di stringa nell’elenco per il modello di stringa ", ". Ciò significa che i nomi delle torte, i prezzi e lo stato vegetariano devono essere divisi in un elenco.

Nell’ultima riga del nostro codice, utilizziamo split_lines[0] per stampare il primo elemento in ogni nuovo elenco. Questo è uguale al nome di ogni torta. Proviamo a eseguire il nostro codice:

Il nostro codice stampa con successo un elenco di torte. Questo perché non abbiamo separato un elenco. Usiamo split() per separare tutti gli elementi in ogni stringa che appare nel nostro elenco.

Conclusione

L’errore "attributeerror: l’oggetto ‚Äòlist‚Äô non ha attributi ‚Äòsplit‚Äô" viene generato l’errore quando si tenta di dividere un elenco in più elenchi utilizzando il metodo split().

Risolvi questo errore assicurandoti di utilizzare solo split() su una stringa. Se leggi un file in un programma, assicurati di utilizzare split() su ogni singola riga del file, anziché un elenco di tutte le righe.

Ora sei pronto per risolvere questo errore comune di Python come un professionista!