Pythonを初めるきっかけができたので、ちょくちょくPythonについて取り上げたい。
リスト型と辞書型について
元々SAS、SQL、VBAを中心に使っていたので、Rを使い始めたときにリスト型の概念に初めて触れた。
配列(Array)っぽいと言えばその通りなので特に構えることはないが、使えるようになると便利なのでメモする。
文字、数値、浮動小数点は字の通り。
リスト型は [] で囲う。辞書型は {} で囲い「インデックス:値」とする。
x = "a" #-- 文字 str x = 1 #-- 数値 int x = 1.1 #-- 浮動小数点 float x = [1, 2, 3] #-- リスト list x = {"key1" : "val1", "key2" : "val2", "key3" : "val3"} #-- 辞書 dict
リスト型
リストはインデックスが 0~始まる。
lst1 = ["A", "B", "C"] print(lst1[0]) A
リスト内には複数の型を含められる。
lst2 = ["1", 2, 3.1, [1,2,3], {"key1":1,"key2":2}] type(lst2) Out[1]: list type(lst2[0]) Out[2]: str type(lst2[1]) Out[3]: int type(lst2[2]) Out[4]: float type(lst2[3]) Out[5]: list type(lst2[4]) Out[6]: dict
更新・追加・削除・複製方法は次のとおり。
lst1 = [1, 2, 3, 4] #-- 更新 lst1[0] = 99 #-- インデックス0を1から99に更新 #-- 追加 lst1.append(5) #-- 末尾に値:5 を追加。 lst1 += [6, 7] #-- 末尾に別のリストを追加。 #-- 削除 del lst1[5] #-- インデックス5を削除 #-- 複製 lst2 = lst1 #-- この方法だと lst2 の更新が lst1 にも反映されてしまうようである。 lst3 = list(lst1) #-- そのため、list関数で囲ってコピーする(他にもやり方はある)。
辞書型
辞書型も同じく、複数の型を含めることができる。
dict1={"key1":"1" ,"key2":2 ,"key3":3.1 ,"key4":[1,2,3] ,"key5":{"subkey1":"あ","subkey2":"い"}} type(dict1) Out[1]: dict type(dict1["key1"]) Out[2]: str type(dict1["key2"]) Out[3]: int type(dict1["key3"]) Out[4]: float type(dict1["key4"]) Out[5]: list type(dict1["key5"]) Out[6]: dict type(dict1["key5"]["subkey1"]) Out[7]: str
更新・追加・削除・複製方法は次のとおり。
dict1 = {"key1" : "a", "key2" : "b", "key3" : "c"} #-- 更新 dict1["key1"] = 99 #-- キー:"key1"を99に更新 print(dict1) #-- 追加 dict1["key4"] = "d" #-- キー:"key4"、値:"d"を追加。 print(dict1) #-- 削除 del dict1["key4"] #-- キー:"key4"を削除 print(dict1) #-- 複製 dict2 = dict1 #-- この方法だと dict2 の更新が dict1 にも反映されてしまうようである。 dict3 = dict(dict1) #-- そのため、dict関数で囲ってコピーする(他にもやり方はある)。
この記事はここまで。