forループのすべての数値をリストに入力するにはどうすればよいですか?
例えば:
for i in range(0, 5):
# I want to produce this list: [0,1,2,3,4]
forループのすべての数値をリストに入力するにはどうすればよいですか?
例えば:
for i in range(0, 5):
# I want to produce this list: [0,1,2,3,4]
Pythonインタープリターを開き、次のように入力します。
range(0,5)
結果はあなたを驚かせるかもしれません。http://docs.python.org/library/functions.html#rangeをお読みください。
def naturalNumbers(n):
return range(1,n+1)
Python 3の場合、
def naturalNumbers(n):
return list(range(1,n+1))
Felixは正しいです、range(N、M)関数を使用するだけです。ドキュメント(http://docs.python.org/library/functions.html#range)から、最初の文は次のように述べています。
これは、等差数列を含むリストを作成するための用途の広い関数です。
サンプルコードから、使用方法をすでに知っていますが、リストが返され、forループ自体の一部ではないことに気づいていませんでした。
問題は、それらの数字をリストに入力する方法がわからないことです
この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]
答えはまだ明示的に与えられていないので:
myList = list(range(0,5))