Проверьте, есть ли элемент уже в списке

#python #list

Вопрос:

У меня есть список 1 с некоторыми элементами. Затем я прошу пользователя добавить некоторые элементы в список. Это я делаю, создавая новый список: list_added. Я хочу добавить list_added в исходный список (используя list.extend(list_added)). Но прежде чем я это сделаю. Я хочу проверить, есть ли элемент, который я добавил, уже в исходном списке. И если это так, то списки не должны складываться вместе.

Поэтому, если список = [«A», «B», «C», «D»] и list_added = [«D», «H»]

тогда я не хочу, чтобы списки добавлялись. Как я мог это сделать?

Комментарии:

1. вы должны попробовать это: список = список [я для i в списке_аддированных, если я не в списке]

2. вы пробовали что-нибудь до сих пор? как насчет кода для получения пользовательского ввода

3. Имеет ли значение порядок в списке?

Ответ №1:

Один из способов , которым я бы это сделал, — использовать неупорядоченный set , который предполагает, что порядок элементов в коллекции не имеет значения.

Ниже приведен пример, показывающий два способа добавления элементов в набор — либо расширение набора с помощью существующего списка, либо добавление элементов по одному за раз.

 my_list = ["A", "B", "C", "D"]
my_set = set(my_list)

list_added = ["D", "H"]

# update with new elements
my_set.update(list_added)

# no duplicates
print(my_set)
# {'A', 'H', 'C', 'D', 'B'}

# reset the set elements
my_set = set(my_list)

for elem in list_added:
    my_set.add(elem)

print(my_set)
# {'A', 'H', 'C', 'D', 'B'}