Meine Funktion erwartet eine Liste oder ein Tupel als Parameter. Es ist egal, was es ist, es wird lediglich an eine andere Funktion übergeben, die entweder eine Liste oder ein Tupel akzeptiert:
def func(arg): # arg is tuple or list
another_func(x)
# do other stuff here
Jetzt muss ich die Funktion leicht abändern, um ein zusätzliches Element zu verarbeiten:
def func(arg): #arg is tuple or list
another_func(x + ['a'])
# etc
Leider wird das nicht funktionieren: Wenn arg ein Tupel ist, muss ich sagen x + ('a',)
.
Natürlich kann ich es hinbekommen, indem ich arg zur Liste zwinge. Aber es ist nicht ordentlich.
Gibt es einen besseren Weg, dies zu tun? Ich kann die Aufrufer natürlich nicht zwingen, immer ein Tupel zu übergeben, da es einfach die Arbeit auf sie verlagert.