【Python】リスト型と辞書型

Pythonを初めるきっかけができたので、ちょくちょくPythonについて取り上げたい。

リスト型と辞書型について


元々SASSQLVBAを中心に使っていたので、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関数で囲ってコピーする(他にもやり方はある)。




この記事はここまで。

本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。