93 votes

Soustraire une valeur à chaque nombre d'une liste en Python ?

J'ai une liste

 a = [49, 51, 53, 56]

Comment soustraire 13 de chaque valeur entière de la liste ?

169voto

Ignacio Vazquez-Abrams Points 312628

Avec un compréhension de la liste :

a = [x - 13 for x in a]

0 votes

Merci, bon travail :) Comment mettre cela dans une fonction rapidement ?

2 votes

En mettant def minus13(a): sur la ligne supérieure et en retrait d'un niveau.

8 votes

Pourquoi a[:] sur lhs au lieu de simplement l'assigner à a ? N'est pas a[:] créer une copie de la liste ?

77voto

shang Points 13051

Si vous travaillez beaucoup avec des chiffres, vous pouvez jeter un coup d'œil sur le site suivant NumPy . Il vous permet d'effectuer toutes sortes d'opérations directement sur des tableaux numériques. Par exemple, il permet d'effectuer toutes sortes d'opérations directement sur des tableaux numériques :

>>> import numpy
>>> array = numpy.array([49, 51, 53, 56])
>>> array - 13
array([36, 38, 40, 43])

1 votes

J'ai fait un test rapide et il renvoie un nouveau tableau en laissant le tableau original intact.

12voto

sputnikus Points 186

Vous pouvez utiliser map() fonction :

a = list(map(lambda x: x - 13, a))

7 votes

@Frost.baka En Python 3, map renvoie un objet map. En Python 2, il renvoie une liste.

6voto

JJ K. Points 51

Pour clarifier une solution déjà publiée en raison de questions posées dans les commentaires

import numpy

array = numpy.array([49, 51, 53, 56])
array = array - 13

s'affichera :

array([36, 38, 40, 43])

2voto

Oscar Mederos Points 9159

Cela fonctionnera :

for i in range(len(a)):
  a[i] -= 13

4 votes

La solution de la compréhension de liste est beaucoup plus pythonique. Vous pourriez les apprécier. docs.python.org/tutorial/

0 votes

Qui a supprimé mon commentaire ? - Je ne vois pas l'intérêt de compter la longueur de a. Pour faire un calcul simple.

2 votes

Le comptage est nécessaire, si l'algorithme doit être exprimé de cette manière, pour une variable d'index ( i ) pour parcourir toutes les valeurs d'index possibles. Cette variable d'index est nécessaire pour modifier chaque élément de la liste.

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