我仍在閱讀Python 3.1.3教程,並遇到以下問題:從Python中列表中的每個數字減去一個值?
如何從一組數字中刪除值?
# A list with a group of values a = [49, 51, 53, 56]
如何從列表中的每個整數值減去13?
# Attempting to minus 13 from this list - FAIL!
(a[:] = a[:] - 13)
我仍在閱讀Python 3.1.3教程,並遇到以下問題:從Python中列表中的每個數字減去一個值?
如何從一組數字中刪除值?
# 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]
這將工作:
for i in range(len(a)):
a[i] -= 13
如果你跟數字打交道很多,你可能想看看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))
謝謝你,好工作。 :) 你如何快速把它放入函數? – Josh 2011-02-07 05:59:29
通過在上面的行上加上`def minus13(a):`並縮進一個級別。 – 2011-02-07 06:00:41
爲什麼'l [:]`在lhs上而不是僅僅指定回`a`?不`a [:]`創建列表的副本? – istruble 2011-02-07 06:06:23