Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ DictionariesとDictionaryメソッド | その他のデータ型
Python入門
セクション 4.  7
single

single

bookDictionariesとDictionaryメソッド

メニューを表示するにはスワイプしてください

辞書は、おそらくPythonで最も多用途なデータ構造。 データをキーと値のペアとして格納し、データを素早く取得したい場合や頻繁に変更が発生する状況で不可欠。

食料品店のシナリオでは、辞書を使うことで仕入先情報を効率的に管理でき、各仕入先を名前やIDでリストを検索せずにアクセス可能。

アレックスが食料品店で辞書をどのように活用するかを紹介:

作成方法

辞書は、カンマ区切りのキーと値のペアを波括弧{}で囲んで作成。

# Syntax
dictionary = { <key> : <value>, <key> : <value>, <key> : <value> }

# Example
inventory = { "Apples": 30, "Oranges": 18 }

順序性

辞書は要素の挿入順序を保持。ただし、操作は通常位置ではなくキーに基づいて行われる点に注意。

ミュータビリティ(変更可能性)

辞書は変更可能であり、作成後にキーと値のペアを追加更新削除できる。

注意

辞書は複数の値を許容するが、各キーは辞書内で一意でなければならない。代入時にキーが重複した場合、最新の値が前の値を上書きし、各キーには1つの値のみが対応する。

シンプルな辞書を見てみましょう。インデックス番号の代わりに、キーを使って辞書の要素にアクセスします。この場合、キーは食料品の名前です。

1234567891011
# Dictionary creation groceryItems = { "Milk": 3.49, "Eggs": 2.99, "Bread": 1.99, "Apples": 0.99 } # Extracting dictionary elements by their keys print("Price of Milk:", groceryItems["Milk"]) print("Price of Bread:", groceryItems["Bread"])
copy

Pythonの辞書は、格納できるデータ型に柔軟性があります。

唯一の制約は、キーが不変(変更不可)な型stringsnumbers、または不変要素のみを含むtuplesなど)でなければならないことです。これにより、キーが変更されないことが保証されます。

一方で、辞書の値は任意の型であり、リストや他の辞書などの可変(変更可能)型も含めることができます。

例えば:

123456789
# A dictionary with various types of keys and values store_info = { "Store Name": "Grocery Galore", # String key and string value 42: "Inventory Count", # Integer key and string value ("Bread", "Milk"): [2.99, 1.59] # Tuple key and list value (prices of bread and milk) } # Extracting dictionary element (list) by its key (tuple) print("Data under key ('Bread', 'Milk'):", store_info[("Bread", "Milk")])
copy

辞書メソッド

辞書は効率的なデータ操作を可能にするさまざまな操作やメソッドを提供。よく使われる主なメソッドは以下の通り:

  • get(): 指定したキーの値を取得し、キーが見つからない場合None を返す。この動作は、角括弧(例:grocery_items["Milk"])を使った場合と異なり、キーが存在しないときにエラーが発生するのとは違う;
  • update(): 他の辞書やキーと値のペアのイテラブルから要素を追加し、既存のキーは上書きされる;
  • pop(): 指定したキーを削除し、対応する値を返す。

注意

Python では、None は**「何もない」または「値がない」**ことを意味する特別な値であり、何も入っていない、または結果がないことを示したい場合によく使われる。

応用例

食料品店の在庫管理用の辞書を更新する必要がある場合、辞書メソッドを使って次のように操作可能:

12345678910111213141516171819202122
# Dictionary for a grocery store inventory inventory = { "Apples": 30, "Oranges": 18, "Bananas": 45 } # Get the count of Oranges print("Count of Oranges:", inventory.get("Oranges")) # Update inventory by adding a new item inventory.update({"Mangoes": 20}) print("Updated Inventory:", inventory) # You can also add a new item to the end of the dictionary like this inventory["Pineapples"] = 15 print("Updated Inventory:", inventory) # Remove Bananas from the inventory removed_item = inventory.pop("Bananas") print("Removed Item:", removed_item) print("Current Inventory:", inventory)
copy
タスク

スワイプしてコーディングを開始

辞書を使用して食料品店の在庫を管理します。各アイテムは、商品名をキー、詳細(商品IDとカテゴリ)を値とするキーと値のペアです。

  • 辞書 grocery_inventory を定義して情報を保存します:

    • "Milk": (113, "Dairy")
    • "Eggs": (116, "Dairy")
    • "Bread": (117, "Bakery")
    • "Apples": (141, "Produce")
  • 辞書からアイテム "Bread" の詳細を取得し、bread_details 変数に保存します。

  • 新しいアイテム "Cookies"(商品ID 143、カテゴリ "Bakery")を追加します。

  • アイテム "Eggs" を辞書から削除します。

出力要件

  • "Bread" の詳細を出力: Details of Bread: <$bread_details>
  • "Cookies" を追加した後、更新された在庫を出力: Inventory after adding Cookies: <$grocery_inventory>
  • "Eggs" を削除した後、更新された在庫を出力: Inventory after removing Eggs: <$grocery_inventory>

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  7
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt