40のおっさんのPython学習記録

20年以上前、学部の必修のC言語が全く理解できずに同級生に放り投げ、その後コーディングから遠ざかったガチ文系のおっさんが、ふと思い立ってPythonに挑戦しています。

新たな気づき(Chapter 6-2)

  • list_a.extend(list_b)はlist_a+list_bと同じ効果を得るが、list_aを不可逆に変更してしまう。list_c=list_a.append(list_b)とやってもNoneになってしまう。
  • list_a.append(list_b)はlist_aの中にリストとしてlist_bを追加。appendもlist_aそのものを不可逆にいじる。以下同様。
  • list_a.append("a")とlist_a += "a"は同じ。
  • list_a[i:j:k]で最後のiからjまでk間隔で抜き出し。
  • list_a[i:j][::k]とすると、[i:j]で抜き出したものを更にk間隔で抜き出す。list_a[::k][i:j]はk間隔で抜き出したものに対してiからjを抜き出す。[i:j:k]とも違う結果になる。
  • list_a[::-k]は逆から取り出す。
  • リストの比較はisまたは==でTrueで帰ってくると同じ。is notは同じでないならTrue
  • list_a=list_bとやったあと、list_bに変更を加えてもlist_aには変更はされない。
  • list_b=list_aをやるとisで比較するとTrueになるが、list_b=list_a.copy()、list_b=list_a[:]、list_b=list(list_a)で比較しても、中身はおなじに見えるが違うオブジェクト扱いでisで比較してもTrueにならない。