2015-05-05 174 views
0
numbers = [1, 2, 3] 

for number in numbers: 
    number = number * 2 

#For the output I will get: 
2 
4 
6 

如何在不使用打印語句的情況下修改我的代碼,使結果可以結合起來(如[2,4,6])?Python:如何將for循環的結果合併爲一個輸出?

+0

你的意思是你不*要輸出結果嗎?只計算它? – wallyk

+0

我不知道你的意思是「#輸出我會得到:2 4 6」。這裏根本沒有輸出。沒有影響;你每次通過循環所做的所有事情都是將循環變量'number'重新分配給一個不同的值,然後你立即忘記。 – abarnert

+0

這聽起來像是你混淆了Python解釋器顯示'返回'值與內置'print()'函數的行爲。 – TigerhawkT3

回答

5

使用列表理解:

[num*2 for num in numbers] 

>>> numbers = [1, 2, 3] 
>>> [num*2 for num in numbers] 
[2, 4, 6] 
>>> 
1

創建新列表類型的變量result和列表append()方法添加值到它。

演示:

>>> numbers = [1, 2, 3] 
>>> result = [] 
>>> for i in numbers: 
... result.append(i*2) 
... 
>>> result 
[2, 4, 6] 
>>> 
0

如果你想收集結果到一個列表中,您只需創建一個列表,並append每一個到它:

numbers = [1, 2, 3] 
doubles = [] 
for number in numbers: 
    double = number * 2 
    doubles.append(double) 

...或者,更緊湊,做與列表理解相同:

numbers = [1, 2, 3] 
doubles = [number * 2 for number in numbers]