迷いませんか?

プログラミング、電子工作、ゲーム・・・etc、色々やるけど中途半端なブログです。

Pythonのよく使う所まとめる〜リスト系〜

Python3でAOJの問題といてPython3を勉強してますが、
よく使うけど忘れるところや、理解しにくかったところがあったのでメモ

リスト

  • スライス
    f:id:pazzle1230:20150630144907p:plain
    線で解説しているページを見たため、 最初は上のように線で考えていて、下を見た時に理解できなかった
    線ではなく要素ごとに割り振られていると考えて理解出来た
    [スタート:ゴール:ステップ]で指定した時、
    スタートから始まり、ゴールまで(ゴールを含まない)までを切り取る
    最後まで、または最初まですべてを指定したければスタートかゴールを指定しなければ出来る

  • 検索
    elem in list
    含まれていればTrue、含まれていなければFalse

list.count(elem) listの中にelemが幾つ含まれているかを返す

list.index(elem)
listにelemが含まれている場合、先頭側のインデックスを返す。
含まれていなければ例外を出す

  • 文字列へ
    strをリストへ使うとそのままリストの表示で文字列になる

    '[1, 2, 3, 4, 5]'

それぞれにmapで適用しよう

['1', '2', '3', '4', '5']

ではjoinだ(aは整数のリストの時)
"".join(map(str, a))
何かで区切りたければ""の中身で区切る
カンマ区切りにしたければ",".join(~~~)でオッケー

  • ディクショナリ(リストではないが)
    dict = { key:value, ... }として作れる
    参照するときはdict[key]で、存在しないkeyに代入すると要素が追加される
    keyがかぶった場合新しい方で上書きされる
    dict.update(dict2)でディクショナリを結合できる
    dict.keys()ですべてのキーのリストを返す
    リストのように内包表現を使える

    {x: x**2 for x in range(5)}


あとは文字列とか数学系とかかな