Tôi có một lớp học chứa danh sách các chuỗi. Nói:Cách đảm bảo danh sách chứa các yếu tố độc đáo?
ClassName:
- list_of_strings
Tôi cần thực thi danh sách chuỗi này chứa các phần tử duy nhất. Thật không may, tôi không thể thay đổi list_of_strings này thành loại khác, như một tập hợp.
Trong chức năng addToList(str_to_add)
, tôi muốn đảm bảo tính độc đáo của chuỗi. Làm thế nào tôi có thể làm điều này tốt nhất? Nó sẽ được thực tế để thêm chuỗi được thêm vào danh sách, chuyển đổi sang một tập hợp, sau đó trở lại một danh sách, và sau đó gán lại cho đối tượng?
Dưới đây là phương pháp tôi cần phải cập nhật:
def addToList(self, str_to_add):
self.list_of_strings.append(str_to_add)
Cảm ơn!
* Tại sao * bạn không thể sử dụng bộ? Nó có vẻ là kiểu dữ liệu thích hợp ở đây. –
Danh sách có thể được sắp xếp theo thứ tự được sắp xếp không? Nếu có, thì bạn có thể sử dụng tìm kiếm nhị phân. Nếu không, bạn đang mắc kẹt với một số thuật toán đặt hàng tuyến tính, do đó, chuyển đổi sang tập hợp có thể chỉ là điều đơn giản nhất nếu tốc độ tuyệt đối không phải là một yêu cầu. – chrisaycock
Có lẽ anh ta muốn giữ gìn trật tự, hoặc đã có mã tại chỗ mà hy vọng một danh sách theo thứ tự chứ không phải là một bộ. Một bộ đơn đặt hàng hoặc danh sách duy nhất là một kiểu dữ liệu hợp lý. – bnaul