タイトルが示すように、いくつかのコマンド ライン オプションを処理して、次のlist
ようにユーザー入力からを作成しています"3,28,2"
。これは私がこれまでに得たものです:
>>> rR = "3,28,2"
>>> rR = re.split(r"[\W]+", rR)
>>> map(int, xrange( int(rR[0]),int(rR[1]),int(rR[2]) ))
[3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27]
>>>
参考までに、これre.split()
は、ユーザーがカンマ (,) またはスペース、あるいはその両方を区切り文字として同時に使用できるためです。
私の質問はxrange(object)
、ユーザー入力が開始値とステップ値の有無にかかわらずできるように、ビットを「自動化」する方法です(つまり、「3,28,2」対「3,28」対「28」)。len(rR)
入力内の要素の数を教えてくれますが、その情報を使用して xrange/range 部分を動的に書き込む方法について、ここでちょっと迷っています。
何か案は)?また、コードをできるだけ効率的にしようとしています。したがって、それに関するアドバイスは大歓迎です。乾杯!!