怪題,但求人用一個例子:加入兩個元素的元組,它可以是一個元組據爲己有或不
mytuple = (1, 2)
mynumber = 3
print (mynumber,) + (mytuple,)
>> (3, (1, 2))
我不想要一個元組中的元組。我期望得到(3,1,2)。任何想法?
怪題,但求人用一個例子:加入兩個元素的元組,它可以是一個元組據爲己有或不
mytuple = (1, 2)
mynumber = 3
print (mynumber,) + (mytuple,)
>> (3, (1, 2))
我不想要一個元組中的元組。我期望得到(3,1,2)。任何想法?
你必須檢查第二個對象是否是一個元組:
a = (1, 2)
b = 3
joined = (a if isinstance(a, tuple) else (a,)) + (b if isinstance(b, tuple) else (b,))
保持簡單的任何機會?我使用它作爲lambda表達式,這可能會起作用,但會是一個該死的大lambda –
不,你所能做的就是用lambda函數替換條件表達式(參見另一個答案)。但你不能讓它變得更簡單。 –
你可以使用lambda獲得元組出來的東西:
always_tuple = lambda x: x if isinstance(x, tuple) else (x,)
joined = always_tuple(a) + always_tuple(b)
'(mynumber的,)+ mytuple '? – thefourtheye
@thefourtheye一個錯字,對不起。我顯然是指我的號碼。在這麼小的代碼中選擇的變量不多 –