分かった気になるけれど、すぐ忘れがちなので現時点の理解をまとめた備忘録。
空データを作る
# list >>> elist = [] >>> elist [] # dictionary >>> edict = {} >>> edict {} # tuple >>> etuple = () >>> etuple () # set >>> eset = set() >>> eset set()
setの時にはset関数set()を使用する必要がある。
>>> elist.append(1) >>> elist.append(2) >>> elist.append(1) >>> elist [1, 2, 1] >>> set(elist) {1, 2}
の様にlistをsetに変換した時など{1, 2}と出力されるので思わずeset = {}とやりたくなるが、{}は空dictionaryを作成する行為。
要素を追加する
listはappend()でlistの最後に要素を追加。
dictionaryはkey=valueの形式でデータを追加。
tupleはimutableなので要素追加は出来ない。
追加では無く、新たに要素を追加した同じ名前のtuple型データを作る事で同様の事が出来る。
setにはappend()が無いので、代わりにadd()を使用する。
# list >>> elist.append(3) >>> elist [1, 2, 3] # dictionary >>> edict["a"] = 1 >>> edict["b"] = 2 >>> edict["c"] = 3 >>> edict["d"] = 4 >>> edict {'a': 1, 'b': 2, 'c': 3, 'd': 4} # tuple >>> etuple = (1, 2) >>> etuple (1, 2) # set >>> eset.add(1) >>> eset.add(2) >>> eset.add(3) >>> eset {1, 2, 3}
要素を削除する
listはpop(), clear()を覚えておきたい。
pop()でlistの最後の要素を取り出して削除。
pop(0)の様に場所を指定するとその要素を取り出してリストから削除。
clear()で全要素を削除して空にする。
dictionaryはdel[], pop[], popitem(), clear()を覚えておきたい。
del[]で指定したkeyの要素を削除。
pop[]で指定したkeyの要素を取り出して削除。
popitem()は最後に追加した要素を取り出して削除。
clear()は全て削除して空にする。
tupleはimutableなので、要素の削除は出来ない。
同名で不要な要素を削除したtuple型データを作る事で代用出来る。
setはremove(), pop(), clear()を覚えておきたい。
remove()で指定の要素を削除、無いとエラー
pop()でランダムに一つ要素を取り出して削除。要素が無いとエラー。
clear()で全要素を削除して空にする。
# list >>> elist [1, 2, 3] >>> elist.pop() 3 >>> elist [1, 2] >>> elist.pop(0) 1 >>> elist [2] >>> elist.clear() >>> elist [] # dictionary >>> edict {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> del(edict['b']) >>> edict {'a': 1, 'c': 3, 'd': 4} >>> edict.pop('c') 3 >>> edict {'a': 1, 'd': 4} >>> edict.popitem() ('d', 4) >>> edict {'a': 1} >>> edict.clear() >>> edict {} # tuple >>> etuple (1, 2) >>> etuple = (1) >>> etuple 1 # set: >>> eset {1, 2, 3} >>> eset.remove(3) >>> eset {1, 2} >>> eset.pop() 1 >>> eset {2} >>> eset.pop() 2 >>> eset {} >>> eset = set([1, 2, 3]) >>> eset {1, 2, 3} >>> eset.clear() >>> eset set()
その他
変数に数字をカンマ “,” 区切りで代入すると、()が無くてもtuple型になる。
>>> tp = 1, 2, 3, 4, 4 >>> tp (1, 2, 3, 4, 4)
dictionary型をfor loop文で出力する場合、in の後にdictionary型データそのものを指定しても、dictionary型データ.keys()としても出てくる結果は同じ。まずはkeyがあると言う理解。
valueを出したい場合には、データ.values()を使用する。(2021.1.29追記)
>>> edict {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> for i in edict: ... print(i) ... a b c d >>> for i in edict.keys(): ... print(i) ... a b c d >>> for i in edict.values(): ... print(i) ... 1 2 3 4
コメント