- Pythonのお勉強 Part50
147 :デフォルトの名無しさん[sage]:2014/11/30(日) 00:01:30.79 ID:U56t6wGe - list = ['00','01','02']
python2.7 で、上記のような0 を埋め込んだ リストを作りたいのですが、 要素が多くなった場合(例えば要素数10万個とか)、 どのようにするのが良いでしょうか? 次のものよりコンパクトに書きたいのです。 list = [] for num in range(0, 11): list.append(str(num).zfill(2)) # list.append(str(num).rjust(2,"0")) # list.append("{0:0>2}".format(num)) perl では、次のように書いていました。 @list = ("00" .. "10"); 宜しくお願い致します。(スレ違いでしたらごめんなさい。)
| - Pythonのお勉強 Part50
150 :デフォルトの名無しさん[sage]:2014/11/30(日) 00:36:12.42 ID:U56t6wGe - お返事をありがとうございます。
>>148 一昨日から python を使い始めたばかりで、 まだどうやって使うか決まっていないので、そういう解もありかも知れません。 >>149 うまくいくことが確認できました。こういう書き方もできるのですね。
| - Pythonのお勉強 Part50
151 :デフォルトの名無しさん[sage]:2014/11/30(日) 01:54:06.42 ID:U56t6wGe - 000000 から 999999 までの要素をもつリストを作成するのみのコードで、
実行時間を比較をしました。(tcsh に builtin の time にて) (それぞれを10回ぐらい繰り返しての典型値です。)←テキトーですみません。 >>147 の3つのコードのバリエーション(cord 1,2,3 とする)と、 >>149 のコード(cord 4とする)と >>147 の perl のコード(cord 5とする)について。 code 1: 1.139u 0.054s 0:01.19 99.1% 5+170k 0+0io 0pf+0w code 2: 1.305u 0.055s 0:01.36 99.2% 5+168k 0+0io 0pf+0w code 3: 1.120u 0.039s 0:01.16 99.1% 5+169k 0+0io 0pf+0w code 4: 0.995u 0.062s 0:01.05 100.0% 5+168k 0+0io 0pf+0w code 5: 0.886u 0.110s 0:00.99 100.0% 5+165k 0+0io 0pf+0w code 1,2,3 は大して変わりませんが、ほんのわずかに cord 2 が遅く感じられました。 cord4, 5 の間にはほとんど差はないですが、cord 1,2,3 より ほんのわずかに速いようです。 CPU: Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz RAM: 2048 MB OS: FreeBSD 10.1-RELEASE
| - Pythonのお勉強 Part50
152 :デフォルトの名無しさん[sage]:2014/11/30(日) 02:14:37.61 ID:U56t6wGe - >>151
すみません。typo があったので訂正します。 s/cord/code/; ↑ perl ですみません。 re.sub('cord','code', item) ↑ python だとこんな感じでしょうか? Python チュートリアル と Perl 言語リファレンスの目次に「正規表現」の記載がなくて、 挫折しそうになりました。 Python 標準ライブラリの目次に正規表現 をみつけて一安心。 うーむ、ライブラリなのですね。。。 おやすみなさい。
|
|