liste de jointure Python

La méthode join() vous permet de transformer un objet itérable tel qu’une liste en une chaaîne. C’est l’opposé de la méthode split(). Si vous essayez d’utiliser cette méthode pour joindre une valeur qui n’est pas un objet itérable dans une liste, vous rencontrerez l’erreur "TypeError: can only join an iterable" error.

Dans ce guide, nous allons parler de la signification de cette erreur et de son fonctionnement. Nous allons parcourir un exemple de cette liste pour vous aider à comprendre comment cela fonctionne.

TypeError : ne peut rejoindre qu’un itérable

Regardons notre message d’erreur : TypeError : ne peut joindre qu’un itérable.

Des erreurs de type sont générées lorsque vous essayez d’effectuer une opération sur une valeur dont le type de données ne prend pas en charge cette opération. Le message après le type d’erreur nous indique que nous essayons de joindre une valeur qui n’est pas un objet itérable.

La méthode join() vous permet uniquement de joindre des itérables comme un list ou un tuple. En effet, la méthode join parcourt chaque élément d’une séquence et les ajoute à une chaaîne. Si une valeur n’est pas itérable, ce processus ne peut pas se produire.

Cette erreur est courante lorsque vous essayez de joindre une valeur égale à None.

Un exemple de scénario

Créons un programme pour un fromager qui commande une liste de fromages. Nous demanderons à un utilisateur s’il souhaite que les fromages soient classés par ordre croissant ou décroissant. Pour commencer, définissons une liste de fromages :

fromages = ["Parmesan", "Cheddar anglais", "Feta", "Roquefort", "Brie"]< br>

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Ensuite, nous y allons pour demander à l’utilisateur l’ordre dans lequel il souhaite que la liste des fromages apparaisse :

order = input("Voulez-vous que les fromages apparaissent dans l’ordre croissant (ASC) ou décroissant (DESC) ? ")

Nous allons utiliser une déclaration "if‚" pour traduire la réponse qu’un utilisateur insère en booléen :

Si un utilisateur insère la valeur "ASC", la liste sera triée par ordre croissant. Sinon, la liste sera triée dans l’ordre inverse.

Ensuite, nous allons utiliser le méthode sort() pour trier notre liste :

fromages = cheeses.sort(reverse=reverse)

Nous nous référons à la variable "reverse" que nous avons définie précédemment. Cela nous permet de dire à la méthode sort() si r nous voulons que nos fromages soient triés par ordre croissant ou décroissant.

Maintenant que nous avons trié nos fromages, nous allons les réunir en une chaaîne et les imprimer sur la console :< br>

La méthode join() joint tous les fromages des "fromages‚" liste dans une chaaîne. Chaque fromage sera séparé par un espace et une virgule. Nous avons mis ces caractères entre guillemets dans notre code avant d’appeler la méthode join().

Exécutons notre programme :

Voulez-vous le fromages à apparaaître dans l’ordre croissant (ASC) ou décroissant (DESC) ? ASC

Notre code renvoie une erreur.

La solution

Notre code demande à l’utilisateur l’ordre dans lequel la liste des fromages doit apparaaître. Notre code cesse de fonctionner à la ligne 12. C’est là que nous joignons notre liste de fromages dans une chaaîne.

Le problème est que la valeur de "fromages" devient égale à None dans notre code. C’est parce que nous avons assigné la valeur du sort( ) à une nouvelle variable.

La méthode sort() trie une liste sur place. Elle modifie une liste existante. La méthode sort() ne renvoie pas une nouvelle liste. Cela signifie que lorsque nous attribuons la valeur de cheeses.sort(reverse=reverse) à une variable, la valeur de cette variable devient None.

Pour résoudre ce problème, nous devons supprimer la déclaration de variable sur la ligne de code o√π nous trions nos fromages :

cheeses.sort(reverse=reverse)

Ce code va trier notre liste de fromages. La valeur de "fromages" sera égale à la liste triée plutôt qu’Aucune. Exécutons notre code et voyez ce qui se passe :

"Python.Engineering est entré dans ma vie au moment o√π j’en avais le plus besoin et m’a rapidement aidé à participer à un bootcamp. Deux mois après avoir obtenu mon diplôme, j’ai trouvé l’emploi de mes rêves qui correspondait à mes valeurs et à mes objectifs dans la vie !"

Venus, ingénieur logiciel chez Rockbot

Voulez-vous que les fromages apparaissent dans l’ordre croissant (ASC) ou décroissant (DESC) ? ASC

Vos fromages triés sont : Brie, Cheddar anglais, Feta, Parmesan, Roquefort

Notre code renvoie avec succès une liste triée de fromages. Essayons de trier nos fromages par ordre décroissant :

Voulez-vous le fromages à apparaaître dans l’ordre croissant (ASC) ou décroissant (DESC) ? DESC

Vos fromages triés sont : Roquefort, Parmesan, Feta, Cheddar anglais, Brie

Notre code est capable de trier nos listes à la fois dans l’ordre croissant et décroissant.

Conclusion

L’erreur "TypeError : can only join a iterable" se produit lorsque vous essayez de joindre une valeur qui n’est pas itérable à une chaaîne.

Cela peut arriver si vous attribuez la valeur d’une liste intégrée méthode telle que sort() à une nouvelle variable et essayez de joindre le résultat de cette opération à une chaaîne. Vous pouvez corriger cette erreur en vous assurant que la valeur que vous essayez de joindre dans une chaaîne est un itérable, comme une liste ou un tuple.

Vous êtes maintenant prêt à résoudre cette erreur dans votre code comme un professionnel !

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