У меня есть класс, содержащий список строк. Скажем:Как обеспечить список содержит уникальные элементы?
ClassName:
- list_of_strings
Мне нужно обеспечить, чтобы этот список строк содержал уникальные элементы. К сожалению, я не могу изменить этот list_of_strings на другой тип, например, на набор.
В функции addToList(str_to_add)
, я хочу гарантировать уникальность строки. Как я могу это сделать? Было бы целесообразно добавить строку, добавляемую в список, преобразовать в набор, затем вернуться к списку, а затем переназначить это для объекта?
Вот метод мне нужно обновить:
def addToList(self, str_to_add):
self.list_of_strings.append(str_to_add)
Спасибо!
* Почему * вы не можете использовать набор? Кажется, это подходящий тип данных. –
Можно ли отсортировать список? Если да, то вы можете использовать двоичный поиск. В противном случае вы застряли с некоторым алгоритмом линейного порядка, поэтому преобразование в набор может быть самым простым, если абсолютная скорость не является требованием. – chrisaycock
Предположительно он хочет сохранить порядок, или уже есть код, который ожидает упорядоченный список, а не набор. Упорядоченный набор или уникальный список является разумным типом данных. – bnaul