0

私はPythonを初めて使用し、PHPのバックグラウンドを持っています。感銘を受けました。このシーケンスから番号のリストを取得する方法はありますか?

i^2, i^2 + i, i^2 + 2i, ..., n

つまり、ifi=2n=30

4, 6, 8, ..., 30

さて、これは本当に単純なシーケンスですが、この種のことを機能的に行うためのより一般的な方法は何ですか?

たぶん、これを行うためのいくつかの素晴らしい関数型プログラミングの方法がありますか?PHPでは、いくつかの関数にいくつかの変数と相互作用を作成すると思いますが、Pythonはそれをよりエレガントに実行できる可能性がありますか?

どうもありがとう。

4

2 に答える 2

6

あなたは範囲でこれを行うことができます:

In [186]: i = 2; n = 30; range(i**2, n+1, i)
Out[186]: [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
于 2012-11-23T22:16:20.573 に答える
0

Python にはList Comprehensionという優れた機能があります。これを使用して、次のようなことができます。

[i*i+2*n for n in range(30) if (i*i+2*n)<=30]
于 2012-11-23T22:17:02.697 に答える