Bạn có thể cho tôi mô tả ngắn gọn về Tuple
không? Và khi nào sử dụng nó trên List
và Vector
?Tuple là gì? Và tuple vs Danh sách so với Vector?
Trả lời
Khi nào bạn sẽ thực hiện thêm thao tác chèn/xóa trong cấu trúc dữ liệu, bạn nên sử dụng Danh sách. Khi bao giờ trong một cấu trúc dữ liệu truy cập của các biến là rất thường xuyên sử dụng một vector.
Tuples là các đối tượng đóng gói các phần tử của các loại khác nhau với nhau trong một đối tượng, giống như đối tượng ghép đôi làm cho các cặp phần tử, nhưng được tổng quát cho bất kỳ số phần tử nào. Về mặt khái niệm, chúng tương tự như các cấu trúc dữ liệu cũ (các cấu trúc giống như C) nhưng thay vì có các thành viên dữ liệu được đặt tên, các phần tử của nó được truy cập theo thứ tự của chúng trong bộ dữ liệu.
Tuple thường được trình bày trong Clojure thông qua cấu trúc dữ liệu kết hợp như bản đồ {:name "david" :age 35}
hoặc bản ghi.
Một vector ["david" 35]
cung cấp truy cập vị trí nhanh (= 35 (nth ["david" 35] 1))
và bạn có thể lưu trữ các loại khác nhau.
Một danh sách ("david" 35)
hoặc ("david" "justin" "david")
cung cấp từ đầu và traversal nhanh về phía trước truy cập nhanh. Mặc dù nó có thể chứa các loại khác nhau nhưng nó sẽ là phổ biến nhất để nó chứa một loại duy nhất, có thể chứa các bản sao, theo thứ tự xác định. Tương phản với một tập hợp #{"david" "justin"}
sẽ không chứa bản sao và được tối ưu hóa để kiểm tra tư cách thành viên/hiện diện.
Danh sách, bộ và bản đồ được sắp xếp duy trì thứ tự các đối tượng sử dụng bộ so sánh.
Khám phá 4clojure và clojuredocs.org. Chúc may mắn!
- 1. Danh sách + = tuple vs Danh sách = Danh sách + tuple
- 2. vector tuple và initializer_list
- 3. Một danh sách so với tình huống tuple trong Python
- 4. Nhóm Python danh sách tuple
- 5. Scala - Hai danh sách vào danh sách Tuple
- 6. Haskell Danh sách tuple Tìm kiếm
- 7. Danh sách tuple từ dict bằng Python
- 8. Zip với đầu ra danh sách thay vì tuple
- 9. Haskell: Dữ liệu đại số vs tuple
- 10. Chuyển tuple thành danh sách và quay lại
- 11. Python: Tại sao so sánh giữa các danh sách và bộ tuple không được hỗ trợ?
- 12. Chuyển tuple thành Danh sách mục đầu tiên
- 13. concatenating tuple
- 14. Danh sách Clojure so với vector so với số
- 15. Hủy bỏ phần tử từ tuple trong một danh sách
- 16. Khởi tạo std :: tuple từ danh sách khởi tạo
- 17. Danh sách từ điển của Python [int: tuple] Sum
- 18. tuple khớp với null
- 19. Ký hiệu "tuple" Javascript: điểm của nó là gì?
- 20. tuple và kỳ quặc
- 21. “thay thế” 3-tuple
- 22. Scala chia chuỗi tuple
- 23. Python danh sách đối số phân tích cú pháp của danh sách hoặc tuple của tuples
- 24. Haskell: Tách danh sách thành tuple của hai danh sách mới
- 25. Làm thế nào để so sánh từ điển so với scala tuple?
- 26. giải nén một danh sách/tuple của cặp thành hai danh sách/tuples
- 27. lặp trên một tuple
- 28. Cách sắp xếp danh sách theo phần tử tuple thứ 2 trong python và C#
- 29. C++ 11 Mẫu biến thể: trả về tuple từ danh sách biến số vectơ
- 30. tuple == Lẫn lộn