次の文はPythonではどういう意味ですか?Python: "foo()はiの範囲(bar)"とはどういう意味ですか?
randrange(10**10) for i in range(100)
私はrandrange
は、乱数生成器であることを承知しているが、実際に文の効果を作るカント。
次の文はPythonではどういう意味ですか?Python: "foo()はiの範囲(bar)"とはどういう意味ですか?
randrange(10**10) for i in range(100)
私はrandrange
は、乱数生成器であることを承知しているが、実際に文の効果を作るカント。
あなたの投稿方法は、SyntaxError
です。
しかし、私はその文が[]
の中にあると思います。それからそれはlist comprehensionで、100個の乱数を含むリストを作成します。それは、このコードと同等です:
whatever = []
for i in range(100):
whatever.append(randrange(10**10))
コードが()
代わりの[]
中にあった場合、それはgenerator expression、その項目即座に作成されますが、オンデマンドでされていない、すなわち反復可能になります。
単独では構文エラーです。括弧で囲まれ、それはgenerator expressionです:
(randrange(10**10) for i in range(100))
はrandrange(10**10)
から100回の呼び出し、一度に一つの結果が得られますジェネレータを返します。角括弧内
、それはlist comprehensionです:
[randrange(10**10) for i in range(100)]
randrange(10**10)
それぞれの呼び出しから生じた100の番号のリストを返します。
ジェネレータ式の利点は、それが遅延評価されるため、リスト全体をメモリに保存する必要がないことです(特に、非常に大きな、おそらく無限のジェネレータに関係します)。
それは[]の中にあったので、リストの理解になると思います。 – KodeSeeker