#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'}