Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Một số lỗi thường gặp khi sử dụng Dictionary trong Python


Dictionary (từ điển) trong Python là một kiểu cấu trúc dữ liệu ánh xạ khóa (key) đến giá trị (value) dưới dạng cặp key-value. Chúng là một trong những cấu trúc dữ liệu được sử dụng thường xuyên và có nhiều thuộc tính thú vị. Chúng được biểu diễn bằng cách bao quanh chúng trong một cặp ngoặc nhọn như sau:

dict = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}

Các phần tử hoặc cặp key-value trong dictionary được biểu diễn trong ngoặc đơn và phân tách bằng dấu hai chấm.

Tạo Dictionary

Chúng ta tạo một dictionary bằng cách gán các giá trị được viết dưới dạng key-value.

Ví dụ

Dict1 = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
print(type(Dict1))
print(Dict1)
# Sử dụng phương thức dict()
dict2 = dict({('day1', 'Mon'), ('day2', 'Tue'), ('day3', 'Wed')})
print(type(dict2))
print(dict2)

Kết quả

Chạy mã trên cho kết quả sau:

{'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}

Truy cập giá trị trong Dictionary

Để truy cập các phần tử của dictionary, chúng ta có thể sử dụng ngoặc vuông cùng với khóa để lấy giá trị của nó. Chúng ta cũng có thể sử dụng phương thức get() để lấy giá trị cho các phần tử của dictionary.

Ví dụ

dict = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed', 'weekend': {'d1': 'Saturday', 'd2': 'Sunday'}}
print(dict['day2'])
print(dict['weekend'])
print(dict.get('day3'))

Kết quả

Chạy mã trên cho kết quả sau:

Tue
{'d1': 'Saturday', 'd2': 'Sunday'}
Wed

Thêm phần tử vào Dictionary

Chúng ta thêm các phần tử mới vào dictionary bằng cách thêm một cặp key-value mới. Chúng ta cũng có thể thêm một dictionary khác làm phần tử để tạo dictionary lồng nhau.

Ví dụ

dict = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
dict['day4'] = 'Thu'
dict['day5'] = 'Fri'
print(dict)

Kết quả

Chạy mã trên cho kết quả sau:

{'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed', 'day4': 'Thu', 'day5': 'Fri'}

Cập nhật Dictionary

Chúng ta có thể cập nhật dictionary bằng cách thêm một mục mới hoặc cặp key-value và sửa đổi một mục hiện có. Chúng ta đã thấy việc thêm phần tử mới vào dictionary ở trên. Bây giờ chúng ta sẽ thấy sửa đổi mục hiện có. Ở đây chúng ta chỉ cần lấy khóa và gán giá trị mới cho phần tử.

Ví dụ

dict = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
dict['day1'] = 'Monday'
dict['day2'] = 'Tuesday'
print(dict)

Kết quả

Chạy mã trên cho kết quả sau:

{'day1': 'Monday', 'day2': 'Tuesday', 'day3': 'Wed'}

Xóa phần tử của Dictionary

Các phần tử cụ thể của dictionary có thể bị xóa bằng từ khóa del. Nó cũng có thể được dùng để xóa toàn bộ dictionary. Cũng có phương thức clear() có thể dùng để xóa các phần tử khỏi toàn bộ dictionary.

Ví dụ

dict = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
print(dict)
del dict['day3']
print(dict)
dict.clear()
print(dict)

Kết quả

Chạy mã trên cho kết quả sau:

{'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
{'day1': 'Mon', 'day2': 'Tue'}
{}

Một số lỗi thường gặp khi sử dụng dictionary trong Python

  • Sử dụng dict_name[key_value] để truy cập giá trị có thể không luôn hoạt động đúng và ném ra ngoại lệ. Vì vậy, phương thức get() là phương pháp tốt hơn để truy cập các phần tử của dictionary.
  • Tương tự, hãy sử dụng phương thức update(key=value) để cập nhật giá trị trong dictionary thay vì sử dụng cách trực tiếp dict_name[key_value] = 'new_value'.
  • Tạo bản sao của một dictionary bằng cách sử dụng dict1 = dict2 sẽ tạo ra hai dictionary nhưng cả hai đều tham chiếu đến cùng một đối tượng. Vì vậy, cả hai sẽ được cập nhật cùng một lúc. Hãy sử dụng shallow copy (bản sao nông) nếu bạn muốn tránh cập nhật cả hai bản sao.
  • Để duyệt qua các phần tử của dictionary theo một thứ tự cụ thể, hãy sử dụng phương thức sorted().
  • Hãy cân nhắc khi nào nên sử dụng dictionary và khi nào không nên, vì có các cấu trúc dữ liệu khác như tuple, set, v.v. có thể phù hợp hơn với yêu cầu.