Моя функция ожидает список или кортеж в качестве параметра. На самом деле все равно, что это, все, что он делает, это передает его другой функции, которая принимает либо список, либо кортеж:
def func(arg): # arg is tuple or list
another_func(x)
# do other stuff here
Теперь мне нужно немного изменить функцию, чтобы обработать дополнительный элемент:
def func(arg): #arg is tuple or list
another_func(x + ['a'])
# etc
К сожалению, это не сработает: если arg кортеж, я должен сказать x + ('a',)
.
Очевидно, я могу заставить его работать, приведя аргумент arg к списку. Но это не опрятно.
Есть ли лучший способ сделать это? Конечно, я не могу заставить вызывающих абонентов всегда передавать кортеж, поскольку он просто переключается на работу с ними.