Python3のremove
python - Remove all occurrences of a value from a list? - Stack Overflow
remove()
は指定したものを最初の1つだけ削除
>>> x = [1, 2, 3, 4, 2, 2, 3] >>> x.remove(2) >>> x [1, 3, 4, 2, 2, 3]
なので、2
は全部消されないよ。
Pythonタプル比較
(1,3,5) < (1,2,3,4)
これはFalse
1 3 5 1 2 3 4 ↑ ↑ ↑ ↑ (1)(2)(3)(4) こんな順で左から比較してると思う。
なので、(2)の瞬間に(1,3,5)
が勝った。なのでFlase
printでrangeの違い 2と3
Python2
print(range(5)) print(range(0, 5))
[0, 1, 2, 3, 4] [0, 1, 2, 3, 4]
って予想通り
Python3
print(range(5)) print(range(0, 5))
range(0, 5) range(0, 5)
しかし、
print(list(range(5)))
はちゃんと[0, 1, 2, 3, 4]
となる。
Pythonのデフォルト引数はどうなるか?
i = 111 def hoge(arg=i): print(arg) i = 999 hoge()
これは111
になる。
メソッドの下で上書きしてるけどそれはメソッドにとっては知らなかった。