Есть ли аналогичная стандартная функция в Python?

Есть ли стандартная функция в Python, которая добавит элемент в список, если его нет?

Вот код, как должна работать, если не понятно, что написал)):

def add_is_not_element(element, lst):
    cash = copy.deepcopy(lst)
    if element not in cash:
        cash.append(element)
    return cash

ДОПОЛНЕНИЕ:

Множества не предлагать. По этой причине (на входе список и если его преобразовать во множество, добавить элемент и преобразовать обратно в список (т.к. вернуть надо список), то нарушится последовательность):

input_lst = ['a', 'z']
cash_mn = set(input_lst)
cash_mn.add('v')
out_lst = list(cash_mn)
print(out_lst)  # ['v', 'a', 'z']

Ответы (3 шт):

Автор решения: alex

Для этого есть множества

a = {1,2,3}
a.add(1)
print(a)
# {1, 2, 3}
→ Ссылка
Автор решения: insolor

Стандартной такой функции нет.

Для ускорения проверки можно параллельно хранить множество, новые элементы добавлять и в список, и в множество, проверять наличие через множество:

input_lst = ['a', 'z']
cash_mn = set(input_lst)

item = "v"
if item not in cash_mn:
    cash_mn.add(item)
    input_lst.append(item)

print(input_lst)  # ['v', 'a', 'z']

Также можно воспользоваться тем свойством словарей, что они "помнят" порядок добавления ключей (начиная с версий Python 3.6-3.7), и добавлять элементы как ключи словаря (с любым значением), потом в готовый список собирать ключи:

input_lst = ['a', 'z']

cash_mn = {key: None for key in input_lst}

cash_mn["v"] = None
cash_mn["z"] = None

out_lst = list(cash_mn.keys())
print(out_lst)  # ['a', 'z', 'v']
→ Ссылка
Автор решения: SergFSM

можно еще такой костыль придумать: добавлять без проверки, а потом избавляться от дубликатов

l = ['b','c','a']
l.append('b')
l = list(dict.fromkeys(l))

>>> l  # ['b', 'c', 'a']
→ Ссылка