Qi *_*hen 7 python tuples concatenation
我有一个元组x = (2,),我想添加一个变量y.我事先并不知道究竟是什么样的变量y.
y 可能:
x+y,或者x+(y,).采用一种策略会在一半的时间内给我一个TypeError,而采用另一种策略会(2, (3, 4))在我想要的时候给我(2, 3, 4).
处理这个问题的最佳方法是什么?
isinstance在一定条件下使用if。
>>> x = (2,)
>>> y1 = (1,2)
>>> y2 = 2
>>> def concat_tups(x,y):
... return x + (y if isinstance(y,tuple) else (y,))
...
>>> concat_tups(x,y2)
(2, 2)
>>> concat_tups(x,y1)
(2, 1, 2)
>>>
Run Code Online (Sandbox Code Playgroud)