170 votes

Comment ajouter un nombre entier à chaque élément d'une liste ?

Si j'ai list=[1,2,3] et je veux ajouter 1 à chaque élément pour obtenir la sortie [2,3,4] , comment faire ?

Je suppose que je devrais utiliser une boucle for, mais je ne sais pas exactement comment.

198voto

Ned Batchelder Points 128913
new_list = [x+1 for x in my_list]

30voto

Andrew Cox Points 5458

Les autres réponses sur la compréhension de la liste sont probablement les meilleures pour une simple addition, mais si vous avez une fonction plus complexe que vous devez appliquer à tous les éléments alors carte peut être un bon choix.

Dans votre exemple, ce serait :

>>> map(lambda x:x+1, [1,2,3])
[2,3,4]

29voto

RanRag Points 9395
>>> mylist = [1,2,3]
>>> [x+1 for x in mylist]
[2, 3, 4]
>>>

liste des compréhensions python .

15voto

robert king Points 5369

Edit : ce n'est pas en place

Tout d'abord, n'utilisez pas le mot "liste" pour votre variable. Il fait de l'ombre au mot-clé list .

La meilleure façon est de le faire en place en utilisant l'épissure, notez le [:] indique une épissure :

>>> _list=[1,2,3]
>>> _list[:]=[i+1 for i in _list]
>>> _list
[2, 3, 4]

9voto

kracekumar Points 2653
>>> [x.__add__(1) for x in [1, 3, 5]]
3: [2, 4, 6]

Mon intention ici est d'exposer si l'élément dans la liste est un entier, il supporte diverses fonctions intégrées.

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