在 Python 中从列表中的每个数字中减去一个值?

我有个名单

 a = [49, 51, 53, 56]

如何从列表中的每个整数值中减去13?

304012 次浏览

With a list comprehension:

a = [x - 13 for x in a]

This will work:

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

If are you working with numbers a lot, you might want to take a look at NumPy. It lets you perform all kinds of operation directly on numerical arrays. For example:

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

You can use map() function:

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

To clarify an already posted solution due to questions in the comments

import numpy


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

will output:

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