python si unisce alla lista

Il metodo join() ti consente di trasformare un oggetto iterabile come un elenco in una stringa. è l’opposto del metodo split(). Se provi a utilizzare questo metodo per unire un valore che non è un oggetto iterabile in un elenco, incontrerai il "TypeError: puoi unire solo un oggetto iterabile" error.

In questa guida, parleremo di cosa significa questo errore e di come funziona. Esamineremo un esempio di questo elenco per aiutarti a capire come funziona.

TypeError: può unirsi solo a un iterabile

Diamo un’occhiata al nostro messaggio di errore: TypeError: può unirsi solo a un iterabile.

TypeError vengono generati quando si tenta di eseguire un’operazione su un valore il cui tipo di dati non supporta tale operazione. Il messaggio dopo il tipo di errore ci dice che stiamo cercando di unire un valore che non è un oggetto iterabile.

Il metodo join() ti consente solo di unire iterabili come un lista o una tupla. Questo perché il metodo join attraversa ogni elemento in una sequenza e li aggiunge a una stringa. Se un valore non è iterabile, questo processo non può verificarsi.

Questo errore è comune quando si tenta di unire un valore uguale a Nessuno.

Uno scenario di esempio

Costruiamo un programma per un venditore di formaggi che ordina una lista di formaggi. Chiederemo a un utente se desidera ordinare i formaggi in ordine crescente o decrescente. Per iniziare, definiamo un elenco di formaggi:

formaggi = ["Parmesan", "Cheddar inglese", "Feta", "Roquefort", "Brie"]< br>

L’81% dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo aver partecipato a un bootcamp. Fatti abbinare a un bootcamp oggi.

Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’inizio di un bootcamp alla ricerca del primo lavoro.

Poi, andiamo per chiedere all’utente l’ordine in cui vuole che appaia la lista dei formaggi:

order = input("Vuoi che i formaggi appaiano in ordine crescente (ASC) o decrescente (DESC)? ")

Utilizzeremo un’istruzione "if" per tradurre la risposta che un utente inserisce in un booleano:

Se un utente inserisce il valore "ASC", l’elenco verrà ordinato in ordine crescente. In caso contrario, l’elenco verrà ordinato in ordine inverso.

Successivamente, utilizzeremo il metodo sort() per ordinare la nostra lista:

cheeses = cheeses.sort(reverse=reverse)

Ci riferiamo alla variabile "reverse" definita in precedenza. Questo ci permette di dire al metodo sort() se r vogliamo che i nostri formaggi siano ordinati in ordine crescente o decrescente.

Ora che abbiamo ordinato i nostri formaggi, li uniremo in una stringa e li stamperemo sulla console:< br>

Il metodo join() unisce tutti i formaggi della sezione "formaggi" lista in una stringa. Ogni formaggio sarà separato da uno spazio e da una virgola. Abbiamo racchiuso questi caratteri tra virgolette nel nostro codice prima di chiamare il metodo join().

Eseguiamo il nostro programma:

Vuoi il i formaggi ad apparire in ordine crescente (ASC) o decrescente (DESC)? ASC

Il nostro codice restituisce un errore.

La soluzione

Il nostro codice chiede all’utente l’ordine in cui deve apparire l’elenco dei formaggi. Il nostro codice smette di funzionare alla riga 12. Qui è dove uniamo la nostra lista di formaggi in una stringa.

Il problema è che il valore di "formaggi" diventa uguale a Nessuno nel nostro codice. Questo perché abbiamo assegnato il valore del tipo ( ) in una nuova variabile.

Il metodo sort() ordina un elenco sul posto. Modifica un elenco esistente. Il metodo sort() non restituisce un nuovo elenco. Ciò significa che quando assegniamo il valore di cheeses.sort(reverse=reverse) a una variabile, il valore di quella variabile diventa None.

Per risolvere questo problema, dobbiamo rimuovere la dichiarazione della variabile sulla riga di codice in cui ordiniamo i nostri formaggi:

cheeses.sort(reverse=reverse)

Questo codice ordinerà il nostro elenco di formaggi. Il valore di "formaggi" sarà uguale all’elenco ordinato anziché Nessuno. Eseguiamo il nostro codice e guarda cosa succede:

"Il Karma di carriera è entrato nella mia vita quando ne avevo più bisogno e mi ha aiutato rapidamente ad abbinarmi a un bootcamp. Due mesi dopo la laurea, ho trovato il lavoro dei miei sogni in linea con i miei valori e obiettivi nella vita!"

Venus, Software Engineer presso Rockbot

Vuoi che i formaggi appaiano in ordine crescente (ASC) o decrescente (DESC)? ASC

I tuoi formaggi selezionati sono: Brie, Cheddar inglese, Feta, Parmigiano, Roquefort

Il nostro codice restituisce correttamente un elenco ordinato di formaggi. Proviamo a ordinare i nostri formaggi in ordine decrescente:

Vuoi il i formaggi devono apparire in ordine crescente (ASC) o decrescente (DESC)? DESC

I tuoi formaggi selezionati sono: Roquefort, Parmigiano, Feta, Cheddar inglese, Brie

Il nostro codice è in grado di ordinare i nostri elenchi sia in ordine crescente che decrescente.

Conclusione

L’errore "TypeError: può unirsi solo a un iterabile" si verifica quando si tenta di unire un valore che non è iterabile a una stringa.

Questo può accadere se assegni il valore di un elenco integrato metodo come sort() a una nuova variabile e prova a unire il risultato di quell’operazione a una stringa. Puoi correggere questo errore assicurandoti che il valore che provi a unire in una stringa sia un iterabile, come un elenco o una tupla.

Ora sei pronto per risolvere questo errore nel codice come un professionista!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method