-1
votes

La valeur de la liste ne met pas à jour après l'annexe

Voici mon code d'origine:

if year == "2017":
    friends_2017.append(add_friends)
elif year == "2018":
    friends_2018.append(add_friends)
else:
    new_friends.append(add_friends)
print(all_friends)


0 commentaires

3 Réponses :


1
votes

Cette ligne:

if year == "2017":
    friends_2017.append(add_friends)
elif year == "2018":
    friends_2018.append(add_friends)
else:
    new_friends.append(add_friends)
all_friends = friends_2017 + friends_2018 + new_friends


2 commentaires

alors je suppose si je fixais `` `` `` Tous amis = new_friends = amis_2017 = amis_2018 `` `` `` `` `` `` `` `` `` Merci btw


Je mettrai à jour cette réponse avec quelques suggestions sur la manière dont vous pourrez peut-être garder all_friends à jour.



1
votes

+ crée une liste nouvelle liste du contenu de ses opérandes. Il n'y a pas de relation entre la valeur de all_friends et les valeurs futures de amis_2017 et al. Si vous voulez All_friends à la mise à jour, définissez-le après la mise à jour de la liste de l'année appropriée.


2 commentaires

all_friends = [] all_friends.append (amis_2018) All_friends.Append (Amis_2017) All_friends.Append (New_friends) Je réussis à corriger et à faire fonctionner le code, mais la sortie quand j'imprime (All_friends) est pas aussi beauté, [['Andy', 'David', 'Tim'], ['Robert', 'John', 'John', 'Smith', 'Will'], []] Y a-t-il un façon je peux le rendre plus agréable?


C'est parce que all_friends est maintenant une liste de références à d'autres listes et non une liste de valeurs dans les autres listes.



0
votes

Regardons un exemple encore plus simple: xxx

all_friends est une nouvelle liste créée en concaténant 3 listes ensemble. Ensuite, vous appuyez sur l'une de ces listes. Cela ne changera pas all_friends car il s'agit d'une liste entièrement distincte.


0 commentaires