Khóa học python

Truy cập vào phần tử của Dictionary trong Python

0 phút đọc

Giới thiệu về Dictionary trong Python

Dictionary là gì?

Dictionary là một tập hợp các cặp key-value không có thứ tự. Các key trong dictionary phải là các đối tượng bất biến (immutable) như chuỗi, số hoặc tuple, trong khi các giá trị có thể là bất kỳ kiểu dữ liệu nào, bao gồm cả list, tuple, set, hoặc thậm chí là dictionary khác.

python Copy
# Tạo một dictionary
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
print(my_dict)

Output:

Copy
{'name': 'John', 'age': 25, 'city': 'New York'}

Tính chất của Dictionary

  • Không có thứ tự: Các phần tử trong dictionary không có thứ tự cụ thể.
  • Không có phần tử trùng lặp: Key trong dictionary phải là duy nhất.
  • Có thể thay đổi: Bạn có thể thêm, xóa, hoặc thay đổi các phần tử trong dictionary.

Truy cập phần tử của Dictionary

Truy cập bằng khóa (key)

Cách phổ biến nhất để truy cập phần tử trong dictionary là sử dụng khóa (key). Bạn có thể truy cập giá trị của một khóa bằng cách đặt khóa đó trong cặp ngoặc vuông [].

Ví dụ:

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
print(my_dict['name'])  # Kết quả: John
print(my_dict['age'])   # Kết quả: 25

Nếu bạn cố gắng truy cập một khóa không tồn tại, Python sẽ gây ra lỗi KeyError.

python Copy
print(my_dict['country'])  # KeyError: 'country'

Sử dụng phương thức get()

Phương thức get() cung cấp một cách an toàn hơn để truy cập giá trị của một khóa. Nếu khóa không tồn tại, get() sẽ trả về None hoặc một giá trị mặc định mà bạn chỉ định.

Cú pháp:

python Copy
dict.get(key, default=None)

Ví dụ:

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
print(my_dict.get('name'))        # Kết quả: John
print(my_dict.get('country'))     # Kết quả: None
print(my_dict.get('country', 'USA'))  # Kết quả: USA

Truy cập tất cả các khóa và giá trị

Python cung cấp các phương thức keys(), values(), và items() để truy cập tất cả các khóa, giá trị, và cặp khóa-giá trị trong dictionary.

  • keys(): Trả về một view object chứa tất cả các khóa trong dictionary.

    python Copy
    my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
    print(my_dict.keys())  # Kết quả: dict_keys(['name', 'age', 'city'])
  • values(): Trả về một view object chứa tất cả các giá trị trong dictionary.

    python Copy
    my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
    print(my_dict.values())  # Kết quả: dict_values(['John', 25, 'New York'])
  • items(): Trả về một view object chứa tất cả các cặp khóa-giá trị trong dictionary dưới dạng tuple.

    python Copy
    my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
    print(my_dict.items())  # Kết quả: dict_items([('name', 'John'), ('age', 25), ('city', 'New York')])

Sử dụng vòng lặp để truy cập phần tử

Bạn có thể sử dụng vòng lặp for để duyệt qua các phần tử trong dictionary.

Duyệt qua các khóa

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
for key in my_dict:
    print(key)

Kết quả:

Copy
name
age
city

Duyệt qua các giá trị

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
for value in my_dict.values():
    print(value)

Kết quả:

Copy
John
25
New York

Duyệt qua các cặp khóa-giá trị

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
for key, value in my_dict.items():
    print(f"{key}: {value}")

Kết quả:

Copy
name: John
age: 25
city: New York

Truy cập phần tử trong dictionary lồng nhau

Dictionary trong Python có thể chứa các dictionary khác, tạo ra các dictionary lồng nhau. Bạn có thể truy cập các phần tử trong dictionary lồng nhau bằng cách sử dụng nhiều chỉ số khóa.

Ví dụ:

python Copy
nested_dict = {
    'person1': {'name': 'John', 'age': 25},
    'person2': {'name': 'Jane', 'age': 30}
}
print(nested_dict['person1']['name'])  # Kết quả: John
print(nested_dict['person2']['age'])   # Kết quả: 30

Các phương thức hữu ích khác của Dictionary

setdefault()

Phương thức setdefault() trả về giá trị của khóa nếu khóa đó tồn tại, nếu không, nó sẽ thêm khóa với giá trị mặc định và trả về giá trị mặc định đó.

Cú pháp:

python Copy
dict.setdefault(key, default=None)

Ví dụ:

python Copy
my_dict = {'name': 'John', 'age': 25}
print(my_dict.setdefault('name', 'Doe'))  # Kết quả: John
print(my_dict.setdefault('city', 'New York'))  # Kết quả: New York
print(my_dict)  # Kết quả: {'name': 'John', 'age': 25, 'city': 'New York'}

update()

Phương thức update() được sử dụng để cập nhật dictionary với các cặp khóa-giá trị từ một dictionary khác hoặc từ một iterable chứa các cặp khóa-giá trị.

Cú pháp:

python Copy
dict.update([other])

Ví dụ:

python Copy
my_dict = {'name': 'John', 'age': 25}
my_dict.update({'city': 'New York', 'age': 26})
print(my_dict)  # Kết quả: {'name': 'John', 'age': 26, 'city': 'New York'}

Xử lý lỗi khi truy cập phần tử

Khi truy cập phần tử trong dictionary, bạn có thể gặp phải lỗi KeyError nếu khóa không tồn tại. Để xử lý lỗi này, bạn có thể sử dụng câu lệnh try-except.

Ví dụ:

python Copy
my_dict = {'name': 'John', 'age': 25}
try:
    print(my_dict['city'])
except KeyError:
    print("Khóa không tồn tại trong dictionary")

Kết quả:

Copy
Khóa không tồn tại trong dictionary

Kết luận

Dictionary là một kiểu dữ liệu mạnh mẽ và linh hoạt trong Python, cho phép bạn lưu trữ và truy cập các cặp giá trị (key-value) một cách hiệu quả. Bằng cách nắm vững các kỹ thuật truy cập phần tử, sử dụng các phương thức hữu ích, và xử lý lỗi, bạn có thể dễ dàng làm việc với dictionary để giải quyết nhiều bài toán lập trình khác nhau. Hy vọng rằng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan và chi tiết về cách truy cập và thao tác với các phần tử của dictionary trong Python.

Avatar
Được viết bởi

Admin Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết
Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào