/ / Połącz dwa elementy jako krotkę, która może być krotką samodzielnie lub nie - python, krotki

Połącz dwa elementy jako krotkę, która może być krotką przetłumaczoną lub nie - python, krotki

Dziwny tytuł, ale łatwy do zadawania na przykładzie:

mytuple = (1, 2)
mynumber = 3
print (mynumber,) + (mytuple,)
>> (3, (1, 2))

Nie chcę krotki wewnątrz krotki. Spodziewam się (3, 1, 2). Masz pomysł?

Odpowiedzi:

1 dla odpowiedzi № 1

Musisz sprawdzić, czy drugi obiekt jest krotką:

a = (1, 2)
b = 3
joined = (a if isinstance(a, tuple) else (a,)) + (b if isinstance(b, tuple) else (b,))

0 dla odpowiedzi nr 2

możesz użyć lambda, aby uzyskać krotkę z czegokolwiek:

always_tuple = lambda x: x if isinstance(x, tuple) else (x,)

joined = always_tuple(a) + always_tuple(b)

0 dla odpowiedzi № 3
mytuple = (1, 2)
mynumber = 3
print (mynumber,)+mytuple