分かった気になるけれど、すぐ忘れがちなので現時点の理解をまとめた備忘録。
空データを作る
# 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


コメント