0
0

More than 1 year has passed since last update.

40代おっさんPythonを勉強する(データ構造と組み込み関数④)

Posted at

本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

データ構造と組み込み関数

前回の記事
https://qiita.com/kou1121/items/4c3beb902e72fdd3b8d2
https://qiita.com/kou1121/items/1bce9187dc6fa94d3ed1
https://qiita.com/kou1121/items/d04e5d865a82f893018a

辞書型

  • 辞書型の作り方
  • 基本的な代入
dic1 = {1:'a', 2:'b', 3:'c' } # 辞書型は{}
print(dic1)
  • リストやタプル型から
pairs = [(1, 'a'),(2, 'b'),(3, 'c')]
dic1 = dict(pairs) # dictの変換関数で辞書型を作成
print(dic1)
  • 内包表記を使って生成
pairs = [(1, 'a'),(2, 'b'),(3, 'c')]
dic1 = {x : y for (x , y) in pairs}
print(dic1)
  • 2つのリストからzipを使って
keys = [1,2,3]
values = ['a','b','c']
dic1 = {x : y for (x , y) in zip(keys, values)}
print(dic1)
  • enumerateを使って、キーを振る
    • enumerate()関数を使うと、forループの中でリストやタプルなどのイテラブルオブジェクトの要素と同時にインデックス番号(カウント、順番)を取得できる。
values = ['a','b','c']
dic1 = dict(enumerate(values))
print(dic1)
  • 辞書型に新しいエントリーを入れる
dic1 = {1:'a', 2:'b', 3:'c' }
print(dic1)
dic1[4] = 'd' # 4: bが加わる
print(dic1)
  • dict内の関数updateを使って、他のdictから入れる
dic1 = {1:'a', 2:'b', 3:'c' }
dic2 = {24: 'x', 25: 'y', 26: 'z'}
dic1.update(dic2)
print(dic1)
  • 辞書型にエントリーを更新する
dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
dic1[4] = 'としき'
print(dic1)
  • 別の辞書にコピーする
    • 参照値のため、コピーするにはcopyを使う
dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
dic2 = dic1.copy()
print(dic2)
  • エントリーを取り出す
dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
print(dic1[4])
print(f'key: {4} value: {dic1[4]}')

*ただしキーが存在しないときはエラーを起こす!

dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
print(dic1[5])
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
セル34  c:\Users\toaik\OneDrive\デスクトップ\python\enPiT\.ipynb_checkpoints\seigyo-checkpoint.ipynb in <cell line: 2>()
      1 dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
----> 2 print(dic1[5])

KeyError: 5
  • dict内のキーを取り出す
dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
keys = dic1.keys()
for i in keys:
    print(f'key: {i} value: {dic1[i]}')
  • dictをリストとして取り出す
dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
pairs = []
for i in dic1.keys():
    pairs.append((i, dic1[i]))
print(pairs)

#  内包表記を使って
pairs = [(i, dic1[i]) for i in dic1.keys()]
print(pairs)

#  dictの関数を使って
pairs = list(dic1.items())
print(pairs) 
  • dictの要素を削除
dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
del dic1[2] # キー2の要素を削除
print(dic1)
val = dic1.pop(1) # キー0の要素を排除
print(dic1)
dic1.clear() # 全ての要素を削除、dic1 = {}にしても良い
print(dic1)

参考

0
0
0

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
0
0