Từ điển python giá trị mặc định danh sách trống
Trong hướng dẫn này, bạn sẽ tìm hiểu về các đối tượng defaultdict của Python, là một phần của thư viện 5. Đối tượng sẽ ghi đè hành vi từ điển mặc định là ném một 6 khi bạn cố gắng truy cập một khóa không tồn tại Show
Bạn sẽ có một cái nhìn tổng quan đầy đủ về defaultdict và nó khác với từ điển Python thông thường như thế nào. Bạn cũng sẽ học cách xử lý chung các lỗi bị thiếu trong Python. Cuối cùng, bạn sẽ học cách sử dụng đối tượng defaultdict và cách sử dụng nó để đếm dữ liệu, nhóm dữ liệu và tích lũy dữ liệu Mục lục
Từ điển Python xử lý các phím bị thiếu như thế nào?Từ điển Python là cấu trúc dữ liệu quan trọng lưu trữ dữ liệu theo cặp 7. Từ điển được gọi là mảng kết hợp vì mỗi khóa được liên kết với một giá trị. Khi chúng tôi cố gắng truy cập giá trị của khóa trong từ điển Python, chúng tôi có thể truy cập trực tiếp giá trị của nó bằng cách sử dụng dấu ngoặc vuông xung quanh khóa của nóHãy xem cách truy cập giá trị của khóa từ từ điển Python
Bây giờ, hãy xem điều gì sẽ xảy ra khi chúng ta cố truy cập vào một khóa không tồn tại
Chúng ta có thể thấy rằng khi chúng ta cố gắng truy cập vào một khóa không tồn tại, Python sẽ tạo ra một 6. Điều này sẽ khiến chương trình của bạn gặp sự cố trừ khi lỗi được xử lý trực tiếpPython cung cấp một số cách để tránh điều này – hãy khám phá chúng tại đây sử dụng. get() để xử lý các khóa từ điển bị thiếuChúng ta có thể sử dụng phương pháp từ điển 9 để ngăn chặn một 6 được nâng lên khi khóa từ điển không tồn tại. Nếu chúng tôi cố gắng truy cập giá trị của khóa không tồn tại bằng phương thức 9, thì phương thức này chỉ trả về giá trị 2. Hãy xem nó trông như thế nào
Sử dụng try-ngoại trừ để xử lý các khóa từ điển bị thiếuTương tự như ví dụ trên, chúng ta có thể ngắt truy cập các giá trị từ điển của mình trong một khối thử-ngoại trừ. Điều này cho phép chúng tôi xử lý trực tiếp 6 được nâng lên khi khóa không tồn tại. Hãy xem nó trông như thế nào 2sử dụng. defaultvalue() để xử lý các khóa từ điển bị thiếuTừ điển Python cũng cung cấp một phương thức, 4, cho phép chúng ta đặt giá trị mặc định cho một khóa. Phương thức này đặt giá trị mặc định khi khóa không tồn tại và trả về giá trị đó. Hãy xem làm thế nào chúng ta có thể sử dụng nó 4Vấn đề với phương pháp này là chúng ta cần biết khóa mà chúng ta muốn tạo giá trị mặc định. Điều này vẫn đòi hỏi một lượng kế hoạch hợp lý và không tính đến các trường hợp bên lề Các lựa chọn thay thế cho các phương pháp này là gì?Sau khi đọc các tùy chọn này, bạn có thể nghĩ rằng bạn không cần bất cứ điều gì khác biệt hoặc một số lựa chọn thay thế phù hợp cho các phương pháp này là gì. Đây là nơi mà 5 xuất hiện. Nó cung cấp một cách rõ ràng, an toàn để cung cấp các giá trị mặc định cho bất kỳ khóa bị thiếu nào mà không cần phải tạo nó trước. Hãy cùng tìm hiểu về 5 và nhiều lợi ích của nóMặc định của Python là gì?Python 5 là một lớp thuộc thư viện 5, là một phần của thư viện Python chuẩn. Điều này có nghĩa là bạn không cần phải thực sự cài đặt bất cứ thứ gì để sử dụng nóChúng ta có thể sử dụng lớp bằng cách nhập nó vào chương trình của mình 9Lớp 5 là một lớp con của lớp Python 20. Điều này có nghĩa là nó chia sẻ nhiều thuộc tính giống nhau của lớp từ điển, nhưng cũng sửa đổi và mở rộng một số chức năng của nóNhững thay đổi chính đối với lớp từ điển là
Điều này có ý nghĩa gì với bạn? . Khả năng gọi được của 24 có thể nhận bất kỳ khả năng gọi được hợp lệ nào (chẳng hạn như 27, 28, v.v. ) hoặc 2 và sẽ sử dụng loại đó làm loại mặc định để tạo khi không có khóa nào tồn tạiTrong phần này, bạn đã tìm hiểu lớp Python 5 là gì và nó khác với từ điển Python thông thường như thế nào. Trong phần tiếp theo, bạn sẽ bắt đầu làm việc với các đối tượng này để xử lý dữ liệu bị thiếu tốt hơn và mở rộng khả năng làm việc với từ điển của bạnCách tạo một defaultdict PythonTrong phần này, bạn sẽ tìm hiểu cách tạo một đối tượng 5 bằng cách sử dụng mô-đun 5 trong Python. Như hình trên chúng ta có thể import class dễ dàng mà không cần lo cài đặt. Điều này là do mô-đun là một phần của thư viện chuẩn và sẽ được cài đặt cùng với PythonHãy xem cách chúng ta có thể tạo một 5 5Ở đây, chúng tôi đã tạo một 5 được gọi là mặc định. Để tạo thành công từ điển, chúng ta cần chuyển vào một giá trị có thể gọi hợp lệ. Các cuộc gọi này là cách tạo đối tượng, chẳng hạn như số nguyên, danh sách, v.v. Điều quan trọng là sử dụng khả năng gọi được, thay vì chức năng 7Ta có thể thấy khi truyền vào hàm 45, chương trình sẽ đưa ra một 46Bây giờ chúng ta có thể sử dụng 5 theo nhiều cách giống như chúng ta sử dụng từ điển Python bình thường. Ví dụ: chúng ta có thể gán một cặp khóa-giá trị mới cho từ điển 1Trong phần này, bạn đã học cách tạo một 5 bằng Python và cách thêm các cặp khóa-giá trị vào đó. Trong phần tiếp theo, bạn sẽ học cách sử dụng các từ điển này để xử lý các khóa bị thiếuXử lý các phím bị thiếu với Python defaultdictTrong phần này, bạn sẽ tìm hiểu cách xử lý các khóa bị thiếu với Python 5. Trước đây, bạn đã học được rằng khi tạo một defaultdict mới, bạn phải chuyển vào một loại giá trị mặc định mới. Điều này cho phép chúng tôi xử lý dữ liệu bị thiếu khi cố gắng truy cập một khóa bị thiếu. Hãy xem nó trông như thế nào 4Chúng ta có thể thấy từ ví dụ trên rằng chúng ta có thể truy cập vào một khóa không tồn tại và giá trị 0 được trả về. Chúng ta có thể chuyển các callables cho ________ 127, ________ 128, ________ 192 và ________ 193. Trong phần tiếp theo, bạn sẽ học cách sử dụng đối tượng 5 để đếm các mục trong danh sáchĐếm các mục trong danh sách bằng Python defaultdictMột trong những cách sử dụng sáng tạo cho đối tượng 5 là khả năng đếm các mục một cách hiệu quả trong một lần lặp và trả lại số đếm trong từ điển. Trước khi chúng ta đi sâu vào cách triển khai điều này với đối tượng 5, hãy xem cách chúng ta có thể triển khai điều này với một từ điển thông thường 0Trong đoạn mã trên, chúng ta cần bao gồm câu lệnh if-else để giải thích cho trường hợp khóa không tồn tại trong từ điển của chúng ta Chúng ta có thể đơn giản hóa điều này rất nhiều bằng cách sử dụng đối tượng 5. Chúng tôi có thể khởi tạo một số nguyên làm khóa mặc định của mình và chúng tôi có thể tăng các khóa của mình một cách an toàn, ngay cả khi chúng không tồn tại trước đó. Hãy xem cái này trông như thế nào 1Những gì chúng tôi đã làm ở đây là khởi tạo một đối tượng 5, chuyển vào giá trị số nguyên có thể gọi được. Điều này có nghĩa là nếu khóa không tồn tại thì giá trị sẽ được gán 0. Do đó, khi chúng tôi gặp một khóa không tồn tại, chúng tôi có thể tăng giá trị của nó lên 1 một cách an toàn. Mã này sạch hơn đáng kể so với cách triển khai ngây thơ của chúng tôi bằng cách sử dụng từ điển thông thườngNhóm dữ liệu với Python defaultdictChúng ta có thể sử dụng đối tượng 5 để nhóm dữ liệu dựa trên các cấu trúc dữ liệu khác. Với điều này, chúng ta có thể lặp lại một số đối tượng, chẳng hạn như danh sách các bộ dữ liệu, một từ điển khác hoặc một tập hợp các danh sách để nhóm dữ liệu theo những cách có ý nghĩaHãy xem một ví dụ. Nếu chúng tôi có một từ điển tên của mọi người và quê hương của họ, chúng tôi có thể tạo một từ điển chứa vị trí của chúng tôi dưới dạng khóa và những người từ vị trí đó dưới dạng danh sách. Điều này cho phép chúng tôi lấy một bảng như bên dưới và chuyển đổi nó thành một từ điển với vị trí của mọi người và những người sống ở đó NgườiQuê hươngNikTorontoKateTorontoEvanLondonKyraNew YorkJaneNew YorkBảng giá trị ban đầu của chúng tôiChúng ta có thể biến bảng này thành như sau HometownPeopleToronto 50London 51New York 52Cấu trúc dữ liệu kết quảTrước khi chúng ta xem cách triển khai điều này với đối tượng 5, hãy xem cách thực hiện điều này với từ điển Python thông thường 2Chúng ta có thể thấy rằng đây là một chút phức tạp hơn so với ví dụ trước của chúng tôi. Rất may, 5 làm cho điều này dễ dàng hơn nhiều. Bởi vì chúng ta có thể đặt giá trị mặc định là một danh sách trống, chúng ta có thể loại bỏ câu lệnh 55. Hãy xem cách thức hoạt động của nó 3Chúng ta có thể thấy ví dụ này dễ hiểu hơn bao nhiêu vì chúng ta không cần lo lắng về việc xử lý lỗi. 5 của chúng tôi sẽ khởi tạo một danh sách trống mỗi khi khóa không tồn tại. Do đó, chúng ta có thể dễ dàng thêm vào giá trị của khóa mà không cần lo lắng về việc 57 bị némTích lũy dữ liệu với Python defaultdictTrong phần cuối cùng này, bạn sẽ học cách tích lũy dữ liệu với Python 5. Ví dụ này khá giống với ví dụ đếm, ngoại trừ chúng ta sẽ khởi tạo một số float làm giá trị mặc định. Hãy tưởng tượng rằng bạn đang theo dõi chi tiêu của mình trong các danh mục khác nhau và muốn cộng tổng số tiền chi tiêu cho các danh mục nàyDữ liệu của bạn được lưu trữ trong một danh sách các bộ dữ liệu, trong đó giá trị đầu tiên là danh mục và giá trị thứ hai là số tiền đã chi tiêu. Chúng ta hãy xem làm thế nào chúng ta có thể làm cho công việc này 4Chúng ta có thể thấy cách tiếp cận này gần giống với ví dụ đầu tiên của chúng ta, ngoại trừ việc chúng ta đang truy cập giá trị của một mục thay vì chỉ đếm một giá trị Sự kết luậnTrong hướng dẫn này, bạn đã học về đối tượng 5 trong Python. Bạn đã bắt đầu bằng cách tìm hiểu cách từ điển Python phản hồi với các khóa bị thiếu và cách bạn có thể xử lý các khóa bị thiếu này mà không làm hỏng chương trình của bạn. Sau đó, bạn đã học cách sử dụng Python 5 để cung cấp các giá trị mặc định. Cuối cùng, bạn đã học được ba ví dụ phức tạp về cách sử dụng đối tượng 5 để đếm, nhóm và tích lũy dữ liệu |