4.1 Kiểm tra sự hiện diện của key trong dictionary
Có một số cách để kiểm tra xem key có được chứa trong dictionary hay không, mỗi cách đều có đặc điểm và ứng dụng riêng.
Toán tử in
Cách phổ biến và hiệu quả nhất để kiểm tra sự hiện diện của key trong dictionary là
sử dụng toán tử in
. Phương pháp này trả về True
nếu key có mặt trong dictionary, và False
nếu không.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Kiểm tra sự hiện diện của các key "name" và "country" trong dictionary
print("name" in person) # Kết quả: True
print("country" in person) # Kết quả: False
# Ví dụ sử dụng trong câu điều kiện
if "age" in person:
print("Key 'age' có mặt trong dictionary.")
else:
print("Key 'age' không có mặt trong dictionary.")
Phương thức get()
Phương thức get()
cho phép bạn lấy giá trị theo key một cách an toàn, trả về
None
hoặc giá trị mặc định mà bạn chỉ định nếu key không tồn tại. Bạn có thể
sử dụng phương thức này để kiểm tra sự hiện diện của key bằng cách kiểm tra xem nó có trả về
None
hay không.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Lấy giá trị theo key "age"
value = person.get("age")
# Kiểm tra sự hiện diện của key "age" trong dictionary
if value is not None:
print("Key 'age' có mặt trong dictionary.")
else:
print("Key 'age' không có mặt trong dictionary.")
Phương thức keys()
Phương thức keys()
trả về một view của tất cả các key trong dictionary. Bạn có thể kiểm tra
sự hiện diện của key bằng cách sử dụng toán tử in
để duyệt qua view này.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Kiểm tra sự hiện diện của key "name" trong view các key của dictionary
if "name" in person.keys():
print("Key 'name' có mặt trong dictionary.")
else:
print("Key 'name' không có mặt trong dictionary.")
4.2 Kiểm tra sự hiện diện của phần tử trong dictionary
Nếu bạn muốn kiểm tra dictionary có chứa giá trị cụ thể nào không, thì có một số cách đơn giản:
Sử dụng phương thức values()
Phương thức values()
trả về một view của tất cả các giá trị trong dictionary. Bạn có thể
sử dụng toán tử in
để kiểm tra sự hiện diện của giá trị trong view này.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Kiểm tra sự hiện diện của giá trị 25 trong dictionary
if 25 in person.values():
print("Giá trị 25 có mặt trong dictionary.")
else:
print("Giá trị 25 không có mặt trong dictionary.")
Sử dụng hàm set()
Bạn có thể chuyển đổi view các giá trị thành một set và sau đó sử dụng toán tử
in
để kiểm tra sự hiện diện của giá trị.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Chuyển đổi view các giá trị thành set
values_set = set(person.values())
# Kiểm tra sự hiện diện của giá trị "New York" trong set các giá trị
if "New York" in values_set:
print("Giá trị 'New York' có mặt trong dictionary.")
else:
print("Giá trị 'New York' không có mặt trong dictionary.")
Sử dụng generator
Bạn có thể sử dụng generator để kiểm tra sự hiện diện của giá trị trong dictionary. Cách này sẽ cung cấp mã nguồn ngắn gọn và dễ đọc hơn.
person = {"name": "Alice", "age": 25, "city": "New York"}
value_to_find = 25
# Sử dụng generator để kiểm tra sự hiện diện của giá trị
if any(value == value_to_find for value in person.values()):
print(f"Giá trị {value_to_find} có mặt trong dictionary.")
else:
print(f"Giá trị {value_to_find} không có mặt trong dictionary.")
Các đối tượng trả về của values()
có thể không duy nhất, vì vậy khi tìm kiếm
nhiều phần tử, có thể hữu ích khi chuyển đổi chúng sang một set trước và sau đó làm việc với
set các phần tử đó.
GO TO FULL VERSION