pythonに数値入力8
があり、8
のような連続した数値のリストを生成したい場合
[0, 1, 2, 3, 4, 5, 6, 7, 8]
どうすればこれができますか?
Python 3では、このような組み込みの range
関数を使用できます
>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
注1:Python 3.xのrange
関数は、range
オブジェクトを返します。リストが必要な場合は、答えに示したように list
関数を使用して、明示的にリストに変換する必要があります。
注2:番号9をrange
関数に渡します。なぜなら、range
関数は、指定された番号まで番号を生成しますが、その番号は含まれません。したがって、実際の数+ 1を指定します。
注3:Python 2および3では、range
の機能にわずかな違いがあります。詳細については、 この答え 。
Pythonの組み込み範囲関数を使用する:
Python 2
input = 8
output = range(input + 1)
print output
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Python
input = 8
output = list(range(input + 1))
print(output)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
別の例を挙げると、これを行うにはrange(value)が群を抜いて最善の方法ですが、これは後で何か他のことをするのに役立つかもしれません。
list = []
calc = 0
while int(calc) < 9:
list.append(calc)
calc = int(calc) + 1
print list
[0, 1, 2, 3, 4, 5, 6, 7, 8]
結果の求め方に応じて、forループ内の各数値を印刷することもできます。
def numbers():
for i in range(int(input('How far do you wanna go? '))+1):
print(i)
たとえば、ユーザー入力が7の場合:
How far do you wanna go? 7
0
1
2
3
4
5
6
7
Forループの「+1」を削除してprintステートメントに配置することもできます。これにより、0ではなく1から開始するように変更されます。
注:-確かにpython-3xでは使用する必要がありますRange関数必要に応じて数値を生成するために機能します。標準的な使用方法Range関数連続番号のリストを作成する
x=list(range(10))
#"list"_will_make_all_numbers_generated_by_range_in_a_list
#number_in_range_(10)_is_an_option_you_can_change_as_you_want
print (x)
#Output_is_ [0,1,2,3,4,5,6,7,8,9]
また、関数を作成して、範囲関数を使用して連続した数字のリストを生成したい場合は、このコードを見てください!
def consecutive_numbers(n) :
list=[i for i in range(n)]
return (list)
print(consecutive_numbers(10))
幸運を!