Một cấu trúc dữ liệu chuyên biệt hỗ trợ các hoạt động hợp nhất hiệu quả và có thứ tự truyền tải xác định. Thường dùng để tích luỹ dữ liệu từ các phần phụ thuộc bắc cầu theo các quy tắc và khía cạnh. Để biết thêm thông tin, hãy xem tại đây.
Các phần tử của một tập hợp phải có thể băm và tất cả đều thuộc cùng một kiểu (như được xác định bởi hàm type(x) tích hợp). Tuy nhiên, các phần phụ thuộc không chỉ là tập hợp băm và không hỗ trợ kiểm thử thành viên nhanh. Nếu cần một loại dữ liệu tập hợp chung, bạn có thể mô phỏng một loại dữ liệu bằng cách sử dụng từ điển trong đó tất cả các khoá đều ánh xạ đến True
.
Các phần đệm là không thể thay đổi. Bạn phải tạo các hàm khởi tạo đó bằng cách sử dụng hàm hàm khởi tạo và hợp nhất hoặc tăng cường với các phần giải mã khác thông qua đối số transitive
.
Tham số order
xác định loại truyền tải được thực hiện để chuyển đổi trình gỡ cài đặt thành có thể lặp lại. Có thể có bốn giá trị:
"default"
(trước đây là"stable"
): Thứ tự chưa được chỉ định (nhưng có tính xác định)."postorder"
(trước đây là"compile"
): Một thứ tự sau từ trái sang phải. Chính xác, phương thức này di chuyển theo quy tắc đệ quy trên tất cả trẻ em ở lớp ngoài cùng bên trái, sau đó là các phần tử trực tiếp ở góc trái trên cùng."preorder"
(trước đây là"naive_link"
): Một đơn đặt hàng trước từ trái sang phải. Chính xác, thao tác này truyền tải các phần tử trực tiếp ở vị trí thứ nhất bên trái, sau đó truyền đệ quy các phần tử con ở góc ngoài cùng bên trái trước."topological"
(trước đây là"link"
): Một thứ tự cấu trúc liên kết từ gốc đến lá. Không có sự đảm bảo từ trái sang phải.
Bạn chỉ có thể hợp nhất hai phần lại nếu cả hai phần lại có cùng thứ tự hoặc một trong số đó có thứ tự "default"
. Trong trường hợp sau, thứ tự của tập hợp thu được sẽ giống với thứ tự của tập hợp còn lại.
Các phần phụ thuộc có thể chứa giá trị trùng lặp nhưng các giá trị này sẽ bị chặn khi lặp lại (sử dụng to_list()
). Các giá trị trùng lặp có thể ảnh hưởng đến ngữ nghĩa sắp xếp thứ tự.
Hội viên
to_list
list depset.to_list()
"default"
và cho các phần tử của các phần phụ thuộc có thứ tự khác với thứ tự của phần phụ thuộc mẹ. Danh sách này là một bản sao; việc sửa đổi phần tử đó không ảnh hưởng đến phần phụ thuộc và ngược lại.