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

我仍然在阅读Python 3.1.3教程,并遇到以下问题:

你如何从一组数字中删除一个值?

# A list with a group of values a = [49, 51, 53, 56] 

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

 # Attempting to minus 13 from this list - FAIL! (a[:] = a[:] - 13) 

有了列表理解。

 a[:] = [x - 13 for x in a] 

如果你使用数字很多,你可能想看看NumPy 。 它可以让你直接在数组上进行各种操作。 例如:

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

你可以使用map()函数:

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

这将工作:

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