見出し画像

Pythonの辞書とリストとクラス 複数情報の受け渡し

概要

pythonで情報を引数や戻り値としてやり取りするうえで複数の情報を1つにまとめてやり取りするのに辞書とリストとクラスを思いつく(もっとあるかもしれないが自分は思いつかなかったその違いと比較をまとめてみる

特徴

リスト
・同じ種類のものしか基本入らない
・取り出すときはインデックスをつけて〇番目の値をとる
・ほかの言語でいえば配列が近い

辞書
・keyと値をセットにして格納する
・取り出すときはdict[key]またはdict.get(key)
・ほかの言語だとハッシュマップに近い

クラス
・中身などは別の場所で定義する必要がある
・値だけでなくメゾットや入れた値を変換させることも可能
・取り出すときはclass.keyのように.区切りでつなげて書く


空の状態を作成(宣言)

リスト

List =[]​

辞書

dict={}

クラス

--------定義部分------------
class Cla:

   pass;
   
   
-------実装--------------

sample = Cla()    


値を(1つ)入れて宣言

リスト

List =["value1"]

辞書

dict={'key1':'value1'}

クラス

--------定義部分------------
class Cla:
   def __init__(self,value):
      self.key1=value;


   
   
-------実装--------------

sample = Cla('value1')    


値を取り出す(そのままプリントに出力する)

リスト

List =["value1"]
print(List[0])

辞書

dict={'key1':'value1'}

print(dict['key1'])

print(dict.get('key1'))

クラス

--------定義部分------------
class Cla:
   def __init__(self,value):
      self.key1=value;


   
   
-------実装--------------

sample = Cla('value1') 

print(sample.key)   

辞書は2つあるがどちらも同じ値が返る
違いとしては存在しないkeyを指定した場合例外を返すかNoneを返すか

値を追加する

リスト

List =["value1"]

List.append("value2")

辞書

dict={'key1':'value1'}
dict.update({'key2':'value2'})

クラス

--------定義部分------------
class Cla:
   def __init__(self,value):
      self.key1=value;
      self.key2=None;


   
   
-------実装--------------

sample = Cla('value1') ;

Cla.key2=value2


クラスの場合は本来は値セット用のメゾットを作ってそこに値を渡して更新するほうが本来ならば望ましい


この記事が気に入ったらサポートをしてみませんか?