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

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

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

  • list_a = [0]*10で0の10個入ったリストが作れるが、list_bもリストとすると、list_a = list_b *10もできる。
  • list("happy")やlist("日月火水木金土")のように単語をリスト化すると、結果は1文字ずつバラバラにされたリストができる。
  • list(range(0,10,2))で0-8の偶数が取れて、list(range(1,10,2))で1-9の奇数が取れる。
  • list()で空リスト生成。[]と同じ。
  • list_a[6]で7番目、list_a[-1]で一番最後の要素を取り出す。
  • list_c=[list_a,list_b]で多重リストが出来る。単層リストに要素が加わるlist_d=list_a+list_bとは違う。
  • len(list_c)は2だけど、len(list_d)はaとbの要素数の合計となる。
  • 多重リストの場合は、list_c[1]で2番目の大リスト全てを取り出し、list_c[1][0]で2番目の大リストの中の1番目の要素を取り出す。
  • リストの操作でよくあるエラーが範囲外を指定するIndexErrorなので、try〜except IndexError:構文で例外処理をすると良い。
  • list_a.append('a')でlist_aの一番後ろに追加される。
  • list_a.insert(3,'a')でlist_aの3番目の次に挿入される。
  • list_b = list_a.pop()でlist_aの最後の要素が抜き取られて削除され、list_bができる。pop(n)でn+1番目が抜き取られる。
  • list_a.remove("a")でaが削除される。これの使いみちは、リストに複数の削除したい要素が入っているときに次のように処理できる。
colors =["赤","黒","黒","黒","青","黄"]
print("削除前:",colors)
while "黒" in colors:
    colors.remove("黒")
print("削除後:",colors)
  • 文字列.split(セパレータ)で文字列あるいは文章をリストにする。例えば文章.split()とすれば文章に含まれる単語でリストが作成される(()とセパレータを指定しない場合スペースがデフォのセパレータになる)。csvファイルの行に.split(",")適用すると、pythonのリストができる。
  • del list_a[2]でlist_aの3番めを削除。del list_aでlist_aを丸ごと削除
  • "a,b,c,d,e,f,g,h,i".split(",",3)で['a','b','c','d,e,f,g,h,i']という感じのリストができる。
  • result_list="a,b,c,d,e,f,g,h,i".split(",",3)[:3]で['a','b','c']ができる。
  • セパレータ.join(リスト)で.splitの逆の操作ができる。リストから文章や文字列を再構成できる。