Khóa học Phát triển Python Nâng cao
Chương
>
Cấp độ
Danh sách nâng cao
Tạo một tập hợp
Mục tiêu
Sắp xếp các loại gia vị trong tủ theo các danh mục phù hợp và lưu trữ chúng trên các kệ bằng cách sử dụng Sets.
Có một số gia vị được lưu trữ trong tủ, chúng đã sẵn sàng để sử dụng nhưng lại bị lộn xộn và không dễ dàng tiếp cận. Chúng cần được phân bổ đúng cách trên các kệ trống bên cạnh, những kệ này đã bị làm cạn kiệt.
Các gia vị được phân bố trong ba (3) danh sách có thể được tổ chức lại bằng cách sử dụng Sets. Sets là các danh sách không có mục lặp lại, chúng cũng có thể được sắp xếp theo các thứ tự khác nhau và so sánh với các Sets khác để tìm hoặc làm nổi bật các mục cụ thể.
Có ba danh sách hằng số được lưu trữ trong tủ, chúng được gọi là: condiments1, condiments2 và condiments3. Hãy đi đến dấu X sáng để kiểm tra nội dung của các danh sách bằng cách sử dụng hàm speak() và thu thập cả ba (3) danh sách bằng cách sử dụng hàm collect(), như sau: player.speak(condiments1), player.collect(condiments1).
Sets được tạo ra bằng cách viết set() với danh sách hoặc các mục trong danh sách làm đối số, sau đó gán cho nó một tên. Tạo ba (3) Sets có tên là: set1, set2 và set3, gán chúng với các hằng số danh sách tương ứng, ví dụ: set1 = set(condiments1).
Sau khi thu thập, hãy đi đến dấu X tối phía trên tấm thảm màu xanh lá, đối mặt với bàn và lọc các danh sách qua Sets. Sử dụng hàm speak() với cả ba Sets bạn vừa tạo, ví dụ: player.speak(set1).
Tiếp theo, đi đến dấu X tối phía trên tấm thảm màu xanh dương và hợp nhất các mục bằng cách kiểm tra xem những gia vị nào có mặt trong cả ba (3) danh sách. Thực hiện điều này bằng cách sử dụng phương thức intersection(), phương thức này cho phép bạn so sánh các Sets và tìm các mục có mặt trong cả ba. Đặt tên cho Set kết quả là duplicates và hợp nhất, như sau: duplicates = set1.intersection(set2, set3), sử dụng hàm speak() để xác minh Set kết quả.
Đi đến tấm thảm màu đỏ với dấu X tối và hợp nhất cả ba Sets thành một Set duy nhất, điều này được thực hiện bằng cách sử dụng phương thức union(). Nó được sử dụng tương tự như phương thức intersection() nhưng thay vào đó nó lấy tất cả các mục trên cả ba (3) Sets và đưa chúng vào một Set duy nhất mà không có bất kỳ mục trùng lặp nào. Đặt tên cho Set kết quả là all_items và hợp nhất, như sau: all_items = set1.union(set2, set3), sử dụng hàm speak() để xác minh Set kết quả.
Khi mọi thứ đã được hợp nhất, hãy đi đến dấu X màu vàng và đối mặt với các kệ, sử dụng hàm place() để đặt tất cả các gia vị vào kệ trống nhằm hoàn thành cấp độ, như sau: player.place(all_items).