从范围列出

时间:2012-07-28 14:32:36

标签: python

如何将for循环中的所有数字输入到列表中?

例如:

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

5 个答案:

答案 0 :(得分:4)

打开python解释器,然后输入:

range(0,5)

结果可能会让您大吃一惊。阅读http://docs.python.org/library/functions.html#range

答案 1 :(得分:1)

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

对于python 3,

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

答案 2 :(得分:1)

Felix是对的,只需使用范围(N,M)功能。从文档(http://docs.python.org/library/functions.html#range),第一句话说:

这是一个多功能函数,用于创建包含算术进度的列表。

你的示例代码中已经知道如何使用,只是没有意识到它返回一个列表而且它不是for循环本身的一部分。

答案 3 :(得分: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]

答案 4 :(得分:0)

由于答案尚未明确给出:

myList = list(range(0,5))