目次
1. Basics of Python Dictionaries (dict)
Python dictionaries (dict
) are data structures composed of key-value pairs. Unlike lists or tuples, dictionaries allow efficient access to specific data using keys. This structure is widely used in various scenarios, such as managing products or user information.Basic Dictionary Operations
To create a dictionary, define key-value pairs inside curly braces{}
, separated by commas.my_dict = {"apple": 100, "banana": 200, "orange": 150}
Here, the key “apple” corresponds to the value 100. To access an element in the dictionary, specify its key as shown below:print(my_dict["apple"]) # Output: 100
Accessing Keys with []
When accessing a value by specifying a key, if the key does not exist, a KeyError
will occur.print(my_dict["grape"]) # KeyError: 'grape'
Since such errors will stop the program, error handling is necessary.2. Basics of the get() Method
Theget
method is a convenient way to safely retrieve values from a dictionary. Instead of raising a KeyError
when the key does not exist, it returns None
or a specified default value. This prevents errors and ensures safe execution.How to Use the get
Method
Using get
, if the specified key exists, its value is returned; if not, None
is returned.my_dict = {"apple": 100, "banana": 200, "orange": 150}
# Key exists
print(my_dict.get("apple")) # 100
# Key does not exist
print(my_dict.get("grape")) # None
Setting Default Values
Withget
, you can specify a default value to return if the key does not exist. This makes programs more flexible.print(my_dict.get("grape", 0)) # Output: 0
By setting a default value, your program continues running smoothly and avoids unexpected behavior.
3. Differences Between get() and [] Access
The main difference betweenget
and []
is error handling. While []
raises a KeyError
if the key is missing, get
returns None
or the specified default value.Error Handling Differences
The following example demonstrates the difference between using[]
and get
.my_dict = {"apple": 100, "banana": 200}
# Access using []
try:
print(my_dict["grape"])
except KeyError:
print("Key does not exist")
# Access using get()
print(my_dict.get("grape", "Key does not exist"))
When using []
, explicit error handling is required, but with get
the code is simpler. Moreover, get
requires only a single access, which can improve performance.4. Practical Applications of get()
Theget
method is especially useful in real-world scenarios. For example, when handling API responses or user input, it prevents KeyError
while safely retrieving data.Handling API Responses
When dealing with API responses, you can continue execution safely even if the key is missing.response = {"status": "success", "data": {"name": "Alice"}}
email = response.get("data", {}).get("email", "Email address not registered")
print(email) # Output: Email address not registered
As shown, you can use get
with nested dictionaries to maintain both safety and readability.Dictionary Initialization and Counting
Theget
method is also useful for dictionary initialization and item counting.counts = {}
items = ["apple", "banana", "apple", "orange"]
for item in items:
counts[item] = counts.get(item, 0) + 1
print(counts) # {'apple': 2, 'banana': 1, 'orange': 1}
In this example, 0
is returned for missing keys, allowing items to be initialized and counted concisely.5. Conclusion
The Pythonget
method simplifies error handling when working with dictionaries, enabling efficient and clean programming. Especially when handling external data or user input, get
is invaluable for avoiding KeyError
and utilizing default values. By leveraging the convenience of get
, you can build error-resistant code and create flexible, efficient Python programs.