初めてのPythonを読んでみる(6)
風邪引いた。鼻かぜ。だるくて色々めんどいです。
ほうほう。
[takanori@dev python]$ cat L1.py L = [] for x in xrange(50000): L = L + [x] # 連結はオブジェクトコピーをやるので低速 [takanori@dev python]$ cat L2.py L = [] for x in xrange(50000): L.append(x) # 上書きなので速い [takanori@dev python]$ cat L3.py L = [] for x in xrange(50000): L += [x] # apennd と同じ [takanori@dev python]$ time python L1.py real 0m17.793s <--- 圧倒的に遅い user 0m4.324s sys 0m13.469s [takanori@dev python]$ time python L2.py real 0m0.067s user 0m0.032s sys 0m0.036s [takanori@dev python]$ time python L3.py real 0m0.066s user 0m0.048s sys 0m0.016s
確かに。
-
- 8.2
- x を評価する時に a < x < b なんていう書き方も可能
- これは面白いなぁ
- 他の言語だと x > a && x < b となるところ
- 8.2
>>> 1 < 2 < 3 True >>> a = 3 >>> 1 < a < 3 False >>> 1 < a <= 3 True >>> 1 < a != 3 False >>>
-
- 8.3
- print の出力先を変更してみる
- 8.3
>>> import sys >>> sys.stdout = open('log.txt', 'a') >>> print 1,2,3 >>> x,y,z = 4,5,6 >>> print x,y,z >>> print z >>> [takanori@dev python]$ cat log.txt 1 2 3 4 5 6 6
-
-
- >> を使ってリダイレクトもできる
-
>>> log = open('log.txt', 'a') >>> print >> log, 10,20,30 >>> print 10,20,30 10 20 30 >>> [takanori@dev python]$ cat log.txt 1 2 3 4 5 6 6 10 20 30