Quantcast
Channel: dictionaryタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 99

Python 勉強メモ #2 リスト以外のデータ構造

$
0
0
タプル リストのようだが、イミュータブルであるデータ構造。要素を追加したり削除したりできない。 スライスによる操作やcount()や、index()などのメソッドは使用できる。 t = (1, 2, 3, 4, 5) # ()をつけなくてもカンマがついた時点でタプルと認識される t = 1, 2, 3, 4, 5 → (1, 2, 3, 4, 5) t[::-1] → (5, 4, 3, 2, 1) t.count(1) → 1 t.index(1) → 0 タプルのアンパッキング tuple = (10, 20) x, y = tuple → x = 10, y = 20 # これを使うと以下のような書き方もできる min, max = 0, 100 → min = 0, max = 100 # 値の入れ替えを簡単にできる a = 10 b = 20 a, b = b, a → a = 20, b = 10 辞書型(dict) キーバリューでデータを管理できるデータ構造。Goで言うマップのようなもの。 d = {'x': 10, 'y': 20, 1: 300} d['x'] → 10 d[1] → 300 # これでも生成できる dd = dict(a=100, b=200) → {'a':100, 'b':200} dictの便利メソッド d = dict(a=100, b=200) # キーをリストで取得する d.keys() → ['x', 'y'] # バリューをリストで取得する d.values() → [100, 200] # dictをアップデート。同じキーは上書きして、異なるキーは追加する。 d2 = dict(a=1000, c=300) d.update(d2) → {'a':1000, 'b':200, 'c':300} d.update(d2) # 指定したキーに対応するバリューを取得する d.get('a') → 1000 # 存在しないキーを指定すると、NoneTypeが返ってくる d.get('d') → # 指定したキーの要素を取得して削除 d.pop('a') → {'b':200, 'c':300} # 要素を全て削除 d.clear() → {} # 要素が存在するかどうかを判定 'b' in d → True 'z' in d → False 集合型(set) 数学の集合と同じ。集合なのでインデックスはない。 # 集合なので重複は弾かれる a = {1, 2, 2, 3, 3} → {1, 2, 3} b = {1, 2, 3, 4, 5} # 集合の計算ができる a + b → {1, 2, 3, 4, 5} b - a → {4, 5} a & b → {1, 2, 3} set(集合)の便利メソッド s = {1, 2, 3} # 要素を追加する s.add(4) → {1, 2, 3, 4} # 要素を削除する s.remove(4) → {1, 2, 3} # 要素を全て削除する s.clear()

Viewing all articles
Browse latest Browse all 99

Trending Articles