Bài đăng này là về ngôn ngữ lập trình Python. Bài đăng này nói về Bộ sưu tập Python và bạn cần có hiểu biết tối thiểu về python để hiểu điều tương tự. Nếu bạn chưa quen với python, tôi thực sự khuyên bạn nên đọc các bài đăng khác của tôi, đặc biệt là Các lớp & đối tượng Python hướng đối tượng Show
Bộ sưu tập Python - Chúng là gì?
Tóm tắt - Python Dict
Nếu bạn đến từ một ngôn ngữ khác như C++ hoặc Java, bạn có thể liên hệ từ điển python với bản đồ Vậy chính xác thì DefaultDict là gì?
Để hiểu đúng về điều này, hãy xem một ví dụ đơn giản về Khi chúng tôi chạy mã này, chúng tôi sẽ gặp lỗi sau KeyError: 'key - 1' Vì khóa a_dct = defaultdict(int) # The Default Value is "0"a_dct = defaultdict(float) # The Default Value is "0.0"a_dct = defaultdict(str) # The Default Value is ""3 không có trong từ điển a_dct = defaultdict(int) # The Default Value is "0"a_dct = defaultdict(float) # The Default Value is "0.0"a_dct = defaultdict(str) # The Default Value is ""4 và lỗi này là hiển nhiên và hợp lý. Tuy nhiên, chúng tôi không muốn mã của mình bị lỗi, vì vậy chúng tôi sẽ phải xử lý lỗi này bằng một trong các cách sauXử lý `Key Error` bằng từ điển
Đây là cách chúng ta có thể sử dụng Đây có phải là sự khác biệt duy nhất giữa dict và defaultdict không?
câu trả lời dài là Có, nhưng chúng tôi có thể sử dụng có thể gọi được (hàm mà chúng tôi cung cấp để tạo Ví dụ, đây là giá trị mặc định khi chúng ta tạo a_dct = defaultdict(int) # The Default Value is "0"a_dct = defaultdict(float) # The Default Value is "0.0"a_dct = defaultdict(str) # The Default Value is "" Điều đó có nghĩa là đối với bất kỳ khóa nào có giá trị, chúng tôi sẽ tự động nhận các giá trị mặc định Chúng ta cũng có thể sử dụng Sử dụng defaultdict với danh sáchKhi chúng tôi tạo a_dct = defaultdict(int) # The Default Value is "0"a_dct = defaultdict(float) # The Default Value is "0.0"a_dct = defaultdict(str) # The Default Value is ""7 nào cho dù nó có tồn tại hay không. Đây là một ví dụ về cùngDefaultdict với danh sách Sử dụng defaultdict với tupleGiống như Đây là một ví dụ đơn giản về cùng một defaultdict với tupleSử dụng defaultdict với dictThoạt nhìn có vẻ lạ, nhưng chúng ta cũng có thể tạo một Và tin tôi đi, Có bất cứ điều gì tôi nên cực kỳ cẩn thận?
Đây là một ví dụ đơn giản về cùng một KHÔNG nên làm gì với defaultdictNgay cả khi bạn quyết định sử dụng một giá trị mặc định cụ thể cho Đó là tất cả cho bài đăng này, Hy vọng tôi có thể giải thích Cảm ơn vì đã đọc… Daksh Liên kết GitHub cho mã hiện có @ https. //github. com/CodesBay/Modern-Python-Programming/tree/master/Python%20DefaultDict Bạn có thể đặt giá trị mặc định cho từ điển Python không?Phương thức setdefault() của Từ điển Python
. The dict. phương thức setdefault() trả về giá trị của khóa được chỉ định trong từ điển . Nếu không tìm thấy khóa, thì nó sẽ thêm khóa với giá trị mặc định đã chỉ định. Nếu tham số defaultvalue không được chỉ định, thì nó được đặt Không có.
Một dict mặc định trong Python là gì?Một defaultdict hoạt động chính xác như một dict bình thường, nhưng nó được khởi tạo bằng một hàm (“nhà máy mặc định”) không nhận đối số và cung cấp giá trị mặc định cho một khóa không tồn tại. Một defaultdict sẽ không bao giờ tăng KeyError. Bất kỳ khóa nào không tồn tại đều nhận giá trị được trả về bởi nhà máy mặc định
Defaultdict có nhanh hơn dict không?get và thử nghiệm cho thấy rằng defaultdict nhanh hơn hai lần so với dict. lấy phương thức |