Pythonのタプル、リスト、辞書型データの違いについて紹介していきます。
それぞれの特徴や使いどころについて紹介したいと思います。
目次
タプルとは?
タプルはリストや辞書と違い、勝手に要素を追加・削除・変更できない、固定数リストになります。
要素の順番を変える必要やデータの変更が必要ない場合に利用します。
使用方法は (データ1,データ2,データ3,)になります。
タプル内には文字列、数値型のデータを格納でき、リストや辞書型と違い高速にアクセスできます。
タプルの使用方法は (文字列/数値,) になります。
以下が使用方法になります。
tuplenum1=('hi',)
print(tuplenum1)
# ('hi',)
tuplenum2=(1,)
print(tuplenum2)
# (1,)
tuplenum3=(1.5,)
print(tuplenum3)
# (1.5,)
tuplenum4=('hi','my','name','is','apple')
print(tuplenum4)
# ('hi', 'my', 'name', 'is', 'apple')
参考:組み込み型タプル
リストとは?
リストはタプルと違い追加・削除・変更ができる、配列型のデータになります。
使用方法は、[データ1,データ2,………]になります。
タプルとは違いリスト型は添え字でデータにアクセスできます。
以下が実行例になります。
listnum1=['apple']
print(listnum1)
# ['apple']
listnum2=[1]
print(listnum2)
# [1]
listnum3=[1.5]
print(listnum3)
# [1.5]
listnum4=['apple','orange']
print(listnum4)
# ['apple', 'orange']
#リストの追加
listnum4.append('banana')
print(listnum4)
# ['apple', 'orange', 'banana']
#リストの削除
listnum4.remove('apple')
print(listnum4)
# ['orange', 'banana']
#新しくリストを作り追加
listnum5=['apple','orange']
print('listnum5 is',listnum5)
# listnum5 is ['apple', 'orange']
listnum6=listnum5+['banana']
print('listnum6 is',listnum6)
# listnum6 is ['apple', 'orange', 'banana']
#スライスを使い部分的に取り出す
listnum7=[1,2,3,4,5]
print('listnum7 is',listnum7)
# listnum7 is [1, 2, 3, 4, 5]
listnum8=listnum7[2:4]
print('listnum8 is',listnum8)
# listnum8 is [3, 4]
listnum9=listnum7[2:]
print('listnum9 is',listnum9)
# listnum9 is [3, 4, 5]
listnum10=listnum7[:4]
print('listnum10 is',listnum10)
# listnum10 is [1, 2, 3, 4]
参考:データ構造
辞書型データとは?
辞書は前のタプルやリストと違い特別なものです。
キーをデータに対応するのでよりユーザーに分かりやすくデータにアクセスすることができます。
使用方法は、{key1:データ1,key2:データ2,key3:データ3,….} になります。
以下が実行結果です。
mydict1={"fruit":"apple"}
print(mydict1)
# {'fruit': 'apple'}
mydict2={"number":1}
print(mydict2)
# {'number': 1}
mydict3={"fruit":"apple","number":1}
print(mydict3)
# {'fruit': 'apple', 'number': 1}
参考:辞書オブジェクト型
タプル、リスト、辞書型データの違い
タプル型のデータは後からデータの変更はできません。
そしてリスト・辞書型データよりも高速にアクセスすることができます。
リスト型は添え字でアクセスできる配列型データになります。
キー管理の必要がないがデータかつ追加・削除・修正が必要ものはリスト型を使うべきです。
辞書型データはキーと値で管理する配列型データになります。
キーでデータを管理することができるためユーザーに分かりやすくデータアクセスできます。