-2

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

例如:

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

5 回答 5

4

打开python解释器,输入:

range(0,5)

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

于 2012-07-28T14:41:39.993 回答
1

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

这是创建包含算术级数的列表的通用功能。

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

于 2012-07-28T14:42:40.210 回答
1
def naturalNumbers(n): 
  return range(1,n+1)

对于python 3,

def naturalNumbers(n): 
  return list(range(1,n+1))
于 2012-07-28T14:34:10.733 回答
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]
于 2012-07-28T15:00:09.770 回答
0

由于尚未明确给出答案:

myList = list(range(0,5))
于 2012-07-28T15:09:01.603 回答