用变量连接元组

Qi *_*hen 7 python tuples concatenation

我有一个元组x = (2,),我想添加一个变量y.我事先并不知道究竟是什么样的变量y.

y 可能:

  • 一个元组,在这种情况下我很乐意使用x+y,或者
  • 单个对象(通常是字符串或int),在这种情况下我应该使用x+(y,).

采用一种策略会在一半的时间内给我一个TypeError,而采用另一种策略会(2, (3, 4))在我想要的时候给我(2, 3, 4).

处理这个问题的最佳方法是什么?

Bha*_*Rao 1

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)