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循環的結果合併爲一個輸出?
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循環的結果合併爲一個輸出?
使用列表理解:
[num*2 for num in numbers]
>>> numbers = [1, 2, 3]
>>> [num*2 for num in numbers]
[2, 4, 6]
>>>
創建新列表類型的變量result
和列表append()
方法添加值到它。
演示:
>>> numbers = [1, 2, 3]
>>> result = []
>>> for i in numbers:
... result.append(i*2)
...
>>> result
[2, 4, 6]
>>>
如果你想收集結果到一個列表中,您只需創建一個列表,並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]
你的意思是你不*要輸出結果嗎?只計算它? – wallyk
我不知道你的意思是「#輸出我會得到:2 4 6」。這裏根本沒有輸出。沒有影響;你每次通過循環所做的所有事情都是將循環變量'number'重新分配給一個不同的值,然後你立即忘記。 – abarnert
這聽起來像是你混淆了Python解釋器顯示'返回'值與內置'print()'函數的行爲。 – TigerhawkT3