Kiểu dữ liệu Dict trong Python - Phần 2

Lập trình Python cơ bản

5.0 (17 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 3 năm trước 66.890 lượt xem 16 bình luận
Tác giả/Dịch giả: Kteam Nông Thanh Toàn
Học nhanh

Danh sách bài học

01. Giới thiệu ngôn ngữ lập trình Python 02. Cài đặt môi trường Python 03. Cách chạy chương trình Python 04. Cách ghi chú trong Python 05. Biến trong Python 06. Kiểu dữ liệu số trong Python 07. Kiểu dữ liệu chuỗi trong Python - Phần 1 08. Kiểu dữ liệu chuỗi trong Python - Phần 2 09. Kiểu dữ liệu chuỗi trong Python - Phần 3 10. Kiểu dữ liệu chuỗi trong Python - Phần 4 11. Kiểu dữ liệu chuỗi trong Python - Phần 5 12. Kiểu dữ liệu List trong Python - Phần 1 13. Kiểu dữ liệu List trong Python - Phần 2 14. Kiểu dữ liệu Tuple trong Python 15. Sự khác nhau về toán tử của Hashable object và Unhashable object trong Python 16. Kiểu dữ liệu Set trong Python 16. Kiểu dữ liệu Set trong Python – Phần 2 17. Kiểu dữ liệu Dict trong Python - Phần 1 18. Kiểu dữ liệu Dict trong Python - Phần 2 19. Xử lý file trong Python 20. Iteration và một số hàm hỗ trợ cho iteration object trong Python 21. Nhập xuất trong Python - Hàm xuất 22. Nhập xuất trong Python - Hàm nhập 23. Kiểu dữ liệu Boolean trong Python 24. Cấu trúc rẽ nhánh trong Python 25. Vòng lặp While trong Python 26. Vòng lặp For trong Python - Phần 1 27. Vòng lặp For trong Python - Phần 2 28. Kiểu dữ liệu Function trong Python - Sơ lược về hàm 29. Kiểu dữ liệu Function trong Python - Positional và keyword argument 30. Kiểu dữ liệu Function trong Python - Packing và unpacking arguments 31. Kiểu dữ liệu Function trong Python - Biến locals và globals 32. Kiểu dữ liệu Function trong Python - Return 33. Kiểu dữ liệu function trong Python – Yield 34. Kiểu dữ liệu function trong Python – Lambda 35. Kiểu dữ liệu Function trong Python - Functional tools 36. Kiểu dữ liệu Function trong Python - Đệ quy (recursion) 37. Giới thiệu module trong Python 38. Package trong python

Kiểu dữ liệu Dict trong Python - Phần 2

Dẫn nhập

Trong các bài trước, Kteam đã giới thiệu đến bạn KIỂU DỮ LIỆU DICT trong Python

Ở bài này Kteam sẽ nói về CÁC PHƯƠNG THỨC CỦA KIỂU DỮ LIỆU DICT trong Python.


Nội dung

Để đọc hiểu bài này tốt nhất bạn cần:

Trong bài này, chúng ta sẽ cùng tìm hiểu những nội dung sau đây

  • Giới thiệu về phương thức của kiểu dữ liệu Dict trong Python
  • Các phức thức tiện ích
  • Các phương thức xử lí

Giới thiệu về phương thức của kiểu dữ liệu Dict trong Python

Kiểu dữ liệu Dict có hỗ trợ một số phương thức và đa số là xử lí các dữ liệu có trong Dict.

Mình mong các bạn sẽ hiểu rõ được các phương thức để sau này áp dụng vào giải quyết các vấn đề với việc viết ít code nhất, hạn chế lỗi nhất.


Các phương thức tiện ích

Phương thức copy

Cú pháp:

<Dict>.copy()

Công dụng: Giống với phương thức copy trong LIST. Để làm gì thì chắc các bạn cũng có thể suy nghĩ ra.

Ví dụ:


Phương thức clear

Cú pháp:

<Dict>.clear()

Công dụng: Loại bỏ tất cả những phần tử có trong Dict

Ví dụ:


Các phương thức xử lí

Phương thức get

Cú pháp:

<Dict>.get(key [,default])

Công dụng: Trả về giá trị của khóa key. Nếu key không có trong Dict thì trả về giá trị default. Default có giá trị mặc định là None nếu chúng ta không truyền vào.

Ví dụ:
 


Phương thức items

Cú pháp:

 <Dict>.items()

Công dụng: Trả về một giá trị thuộc lớp dict_items. Các giá trị của dict_items sẽ là một tuple với giá trị thứ nhất là key, giá trị thứ hai là value.

  • Dict_items là một iterable.

Ví dụ:


Phương thức keys

Cú pháp:

<Dict>.keys()

Công dụng: Trả về một giá trị thuộc lớp dict_keys. Các giá trị của dict_keys sẽ là các key trong Dict.

  • Dict_keys là một iterable.

Ví dụ:


Phương thức values

Cú pháp:

<Dict>.values()

Công dụng: Trả về một giá trị thuộc lớp dict_values. Các giá trị của dict_values sẽ là các value trong Dict.

  • Dict_values là một iterable.

Ví dụ:


Phương thức pop

Cú pháp:

<Dict>.pop(key [,default])

Công dụng: Bỏ đi phần tử có key và trả về value của key đó. Trường hợp key không có trong dict.

  • Báo lỗi KeyError nếu default None (ta không thêm vào).
  • Trả về default nếu ta thêm default vào.

Ví dụ:


Phương thức popitem

Cú pháp:

<Dict>.popitem()

Công dụng: Trả về một 2-tuple với key value tương ứng bất kì (vấn đề này liên quan đến giá trị của hash của key. Do đó bạn cũng hiểu vì sao key buộc phải là một hash object) trong Dict. Và cặp key-value sẽ bị loại bỏ ra khỏi Dict.

  • Nếu Dict là một empty Dict. Sẽ có lỗi KeyError

Ví dụ:


Phương thức setdefault

Cú pháp:

<Dict>.setdefault(key [,default])

Công dụng: Trả về giá trị của key trong Dict. Trường hợp key không có trong Dict thì sẽ trả về giá trị default. Thêm nữa, một cặp key-value mới sẽ được thêm vào Dict với key bằng key value bằng default.

  • Default mặc định là None

Ví dụ:


Phương thức update

Cú pháp:

<D>.update([E, ]**F)

Công dụng: Phương thức giúp bạn cập nhật nội dung cho Dict.

  • F là một Dict được tạo thành bởi packing arguments (khái niệm sẽ được Kteam giải thích ở một bài trong tương lai). Và sẽ thêm vào Dict bằng cách:
  • Nếu E được truyền vào và đối tượng E có phương thức keys(), thì  sẽ cập nhật Dict bằng cách:
  • Nếu E được truyền vào và đối tượng E, đối tượng này có các giá trị là một container chứa hai giá trị thì sẽ cập nhật Dict bằng cách.

Nếu bạn đọc xong và không hiểu gì, thì cũng đừng thất vọng. Kteam sẽ cho bạn vài ví dụ minh họa. Nó rất đơn giản.

Đây là update theo kiểu sử dụng packing arguments.

Đây là cách bạn truyền E với E là một đối  tượng có phương thức keys

Đây là truyền vào một E với  E có các giá chứa hai giá trị


Toán tử “|” với 2 dict

Cú pháp

<Dict_A> | <Dict_B>

Công dụng: Trả về một dict mới với các cặp key – value có mặt ở một trong 2 dict. Nếu một key bất kì có trong cả 2 dict, thì giá trị được lấy sẽ là cặp key – value ở Dict_B

Ví dụ:


Củng cố bài học

Câu hỏi củng cố

  1. Tại sao thay đổi  dict2 mà dict1 lại cũng bị thay đổi theo? Hãy cho  giải pháp khắc phục
  1. Nêu sự khác nhau giữa

Đáp án của phần này sẽ được trình bày ở bài tiếp theo. Tuy nhiên, Kteam khuyến khích bạn tự trả lời các câu hỏi để củng cố kiến thức cũng như thực hành một cách tốt nhất! 


Kết luận

Qua bài viết này, Bạn đã hiểu thêm về DICT qua các phương thức của nó có.

Ở bài viết sau. Kteam hướng dẫn các bạn XỬ LÝ FILE TRONG PYTHON

Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Kiểu dữ liệu Dict trong Python - Phần 2 dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Lập trình Python cơ bản

Lập trình Python cơ bản

Đánh giá

5.0
17 đánh giá
Đánh giá
5
17
4
3
2
1
0769555767 đã đánh giá 2 năm trước

Quang nghị đã đánh giá 2 năm trước

phungduongd đã đánh giá 3 năm trước

datduc2303 đã đánh giá 3 năm trước

rat hay

Nguyễn Anh Khoa đã đánh giá 3 năm trước

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Trongcao đã bình luận 2 năm trước

d.update(b=2,c=3): mình dùng bị lỗi dấu bằng. không biết vì sao luôn á bạn

 

mikewang đã bình luận 2 năm trước

1. Nên xài dict2 = dict1.copy()

2. Giá trị 3 chưa được gán key-value

trantien.hue đã bình luận 2 năm trước

mọi người cho mình hỏi với ạ. làm sao để gộp 2 dict con thành 1 dict cha vậy ạ

 

tin1508 đã bình luận 3 năm trước

1. dict1= {'key':6969}
dict2= dict1.copy()
dict2['key']='changed'
print(dict1)
print(dict2)

muladpham đã bình luận 3 năm trước

1. vì toán tử = có tính chất tham chiếu, nên khi dict2 thay đổi thì dict1 cũng thay đổi theo

>> giải pháp: dict2=dict1.copy()

2. d,update({'a':3}):thêm cặp key-value vào d

d.upate(3): báo lỗi vì chưa có đủ cặp key-value

Không có video.