2014-09-19 25 views
0

好了,所以我需要在列表中添加30到每一個個體數:添加到數字已經在列表中的蟒蛇

numbers = [56,3,9,1002,33,66,789,9001,999,222,82,71,5,3] 

,並打印出答案。

我聽說你可以使用for循環做到這一點,但我無法弄清楚。

任何幫助將是驚人的,謝謝!

回答

1

的經典方法,改變現有列表中的實際項目:

>>> numbers = [56,3,9,1002,33,66,789,9001,999,222,82,71,5,3] 

>>> for x in range(len(numbers)): 
... numbers[x] = numbers[x] + 30 

>>> print numbers 
[86, 33, 39, 1032, 63, 96, 819, 9031, 1029, 252, 112, 101, 35, 33] 

更Python的方式,但是請記住,這是創建一個名單:

>>> numbers = [56,3,9,1002,33,66,789,9001,999,222,82,71,5,3] 

>>> numbers = [x + 30 for x in numbers] 

>>> print numbers 
[86, 33, 39, 1032, 63, 96, 819, 9031, 1029, 252, 112, 101, 35, 33] 
+0

這可能是值得指出我們在經典的方法,我們正在增加到位名單,而名單理解方法創建一個新的名單。 – Akavall 2014-09-19 02:31:13

1

在一般來說,如果你的列表包含同類數字數據,那麼在numpy中執行計算會更快。對於特定的問題,下面將是一個非常快速和直接的解決方案:

import numpy as np 
x = np.array([56,3,9,1002,33,66,789,9001,999,222,82,71,5,3]) 
print x + 30