2 votes

Ajout à la liste Erreur

Je suis nouveau en Python et je lutte avec la syntaxe pour joindre une nouvelle valeur à une liste, puis ajouter cela à une liste de listes. loc_ref et from_loc sont tous les deux des listes existantes et user_says est un champ de saisie utilisateur en utilisant user_says = input("Entrer les données")

print(loc_ref,"\n")  #retourne [['COMPANY|ADDRESS|CITY|STATE|LOCATION']]
print(from_loc,"\n") #retourne ['COMPANY A', '1515 STREET RD', 'CITYA', 'ST']
print([user_says])
loc_ref = loc_ref.append(from_loc + [user_says]) 
print(loc_ref)  #retourne None

Pourquoi loc_ref retourne-t-il None ?

2voto

Tomerikoo Points 12045

Cela est dû au fait que la méthode append renvoie None. Ça semble bizarre ? C'est parce qu'elle fonctionne en place et modifie la liste loc_ref, mais renverra toujours None.

Tout ce que vous avez à faire est de simplement changer votre ligne à :

loc_ref.append(from_loc + [user_says])

La liste originale aura simplement la valeur ajoutée en elle, à la dernière position.

En savoir plus à ce sujet ici :

La méthode append() ajoute un seul élément à la liste existante. Elle ne renvoie pas une nouvelle liste ; elle modifie plutôt la liste d'origine.

2voto

isstiaung Points 91

Vous définissez la valeur de loc_ref à None

loc_ref = loc_ref.append(from_loc + [user_says])

list.append ne renvoie pas la liste avec la valeur ajoutée, elle renvoie None, par conséquent, loc_ref est défini sur None

Essayez simplement : loc_ref.append(from_loc + [user_says]) et supprimez le loc_ref =

1voto

Jvol Jvolizka Points 52

https://www.programiz.com/python-programming/methods/list/append

Comme mentionné, la méthode append() modifie seulement la liste originale. Elle ne retourne aucune valeur.

append() est une méthode qui ne retourne rien, juste faire loc_ref.append(from_loc + [user_says]) sera suffisant

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X