LoginSignup
143
151

More than 5 years have passed since last update.

[Python]リスト、タプル、辞書、集合の違い

Last updated at Posted at 2018-11-16

リスト、タプル、辞書、集合の違い

Pythonでは、データを格納・操作するためのオブジェクトとして、「リスト[ ]」「タプル( )」「辞書{ }」「集合{ }」の4種類があります。

リスト [ ]はミュータブルで要素の挿入と削除を行うことができ、
インデックス(番号)で要素にアクセスします。

list1.py
List = ["A", "B", "C", "D", "E"]
print(List)  
# ⇒ ['A', 'B', 'C', 'D', 'E']
list2.py
List = ["A", "B", "C", "D", "E"]
print(List[2])  
# ⇒ C
list3.py
List = ["A", "B", "C", "D", "E"]
List[2]="Y"
List
# ⇒ ['A', 'B', 'Y', 'D', 'E']

タプル ( )はイミュータブルで要素の書き換えができません。
リストと同様、インデックス(番号)で要素にアクセスします。

tuple1.py
Tuple = "A", "B", "C", "D", "E"
print(Tuple) 
# ⇒ ('A', 'B', 'C', 'D', 'E')
tuple2.py
Tuple = "A", "B", "C", "D", "E"
print(Tuple[2]) 
# ⇒ C
tuple3.py
Tuple = "A", "B", "C", "D", "E"
Tuple[2]="Y"
Tuple
# ⇒ Error  
#TypeError: 'tuple' object does not support item assignment

辞書 { }はミュータブルでリストに似ていますが要素へのアクセスは値に一意なキーで行います。

dictionary1.py
Dictionary = {"USA":1, "JAPAN":2, "Germany":3}
Dictionary 
# ⇒ {'USA': 1, 'JAPAN': 2, 'Germany': 3}
dictionary2.py
Dictionary = {"USA":1, "JAPAN":2, "Germany":3}
Dictionary["JAPAN"] 
# ⇒ 2

集合 { }は辞書と同様、要素へのアクセスは値に一意なキーで行いますが同じ要素を一つしか持てないため辞書のように値はありません。

set1.py
SET = set(["USA","JAPAN","Germany","JAPAN"])
SET
# ⇒ {'Germany', 'JAPAN', 'USA'}

リスト [・・・]の作成

要素をカンマで区切って全体を角かっこで囲んで作ります。

list.py
Last_name = ['Yamada','Sato','Suzuki']

list( )関数を用いれば他のデータ型をリストに変換することもできます。
⑴ 文字列を1文字ごとのリストに変換

strlist.py
list("Empty")
# ⇒ ['E', 'm', 'p', 't', 'y']

⑵タプルからリストへ変換

tuplelist.py
tuple = ( "A", "B", "C", "D", "E")
list(tuple)
# ⇒ ['A', 'B', 'C', 'D', 'E']

タプル (・・・)の作成

要素の後ろにカンマをつけて作成します。
()は必要ないがつけてもエラーにはなりません。

tuplel4.py
tuple = "A", "B", "C", "D", "E"
tuple
# ⇒ ('A', 'B', 'C', 'D', 'E')

辞書 {・・・}の作成

辞書を作るにはkey : valuのペアで感まで区切って並べ波括弧({ })で囲みます。

dictionary3.py
atomic_weight = { 
             "H":1.008, 
             "C":12.01, 
             "O":16,
             "N":14.01} 
atomic_weight 
# ⇒ {'H': 1.008, 'C': 12.01, 'O': 16, 'N': 14.01}

集合 {・・・}の作成

集合を作るにはset()関数を使うか、1個以上のカンマ区切りの値を波括弧で囲んでだ代入します。

set2.py
atomic = {'H','C','O','N'}
atomic
# ⇒ {'C', 'H', 'N', 'O'}
set3.py
set("philadelphia") 
# ⇒ {'a', 'd', 'e', 'h', 'i', 'l', 'p'}

リストから集合を作る

set4.py
US_list = ["Philadelphia","New York","LA","Boston","New York"]
set(US_list) 
# ⇒ {'Boston', 'LA', 'New York', 'Philadelphia'}

タプルから集合を作る

set5.py
US_list2 = ("Philadelphia","New York","LA","Boston","New York")
set(US_list2) 
# ⇒ {'Boston', 'LA', 'New York', 'Philadelphia'}

辞書をset()で囲むとキーだけが使われる

set6.py
atomic_weight = {'H': 1.008, 'C': 12.01, 'O': 16, 'N': 14.01}
set(atomic_weight) 
# ⇒ {'C', 'H', 'N', 'O'}
143
151
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
143
151