我的函数需要一个列表或元组作为参数。它并不真正关心它是哪个,它所做的只是将它传递给另一个接受列表或元组的函数:
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 列出来使其工作。但这并不整洁。
有更好的方法吗?当然,我不能强制调用者总是传递一个元组,因为它只是转移到为他们工作。
最佳答案
如果 another_func
只是想要一个可迭代对象,您可以将 itertools.chain(x,'a')
传递给它。
关于Python 函数参数 : tuple/list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4208619/