2012-07-28 54 views
-2

如何將for循環中的所有數字輸入到列表中?範圍內的列表

例如:

for i in range(0, 5): 
    # I want to produce this list: [0,1,2,3,4] 
+4

你近了......如果你閱讀'range'文檔,我想你會發現它:http://docs.python.org/library/functions.html#range – 2012-07-28 14:34:57

+2

呃爲什麼你完全改變你的問題?不要這樣做,如果你有另一個問題,請問一個新問題。也許官方的Python教程會幫助你很好:http://docs.python.org/tutorial/ – 2012-07-28 14:43:03

+1

你使用的是python 3嗎?在這種情況下'範圍'行爲有所不同。 – phg 2012-07-28 14:43:43

回答

1
def naturalNumbers(n): 
    return range(1,n+1) 

爲Python 3,

def naturalNumbers(n): 
    return list(range(1,n+1)) 
+0

謝謝。我使用python 3 btw。 – Reginald 2012-07-28 14:51:28

+1

你確定你需要*一個*列表*?或者只是可迭代的東西? – 2012-07-28 15:18:15

1

菲利克斯是正確的,只是使用範圍(N,M)功能。從文檔(http://docs.python.org/library/functions.html#range),第一句說:

這是一個多功能的函數來創建包含算術級數的列表。

從你的示例代碼中,你已經知道如何使用,只是沒有意識到它返回一個列表,它不是for循環本身的一部分。

1

的問題是,我不知道如何輸入這些數字到一個列表

雖然list(range(1, n+1))方法已經是你能做的最好的事情,我還是想回答這個問題所以你可以在以後建立不同的列表:

> myList = [] # create an empty list 
> myList.append(2) # append 2 to the list 
> myList 
[2] 
>>> myList += [1] # concat with a single-item list 
>>> myList 
[2, 1] 
>>> for i in range(3, 10, 2): # add multiple items 
     myList.append(i) 

>>> myList 
[2, 1, 3, 5, 7, 9] 
+0

謝謝,這些非常有用。 – Reginald 2012-07-28 18:33:51

0

由於答案還沒有明確給出尚未:

myList = list(range(0,5)) 
+0

爲什麼選擇倒票? – 2012-07-29 00:54:02