Я хотел бы создать кортеж, который представляет все возможные пары из двух кортежей
, это пример того, что я хотел бы получить:
first_tuple = (1, 2)
second_tuple = (4, 5)
mult_tuple(first_tuple, second_tuple)
вывод:
((1, 4), (4, 1), (1, 5), (5, 1), (2, 4), (4, 2), (2, 5), (5, 2))
Это то, что я сделал, но это выглядит немного громоздко:
def mult_tuple(tuple1, tuple2):
ls=[]
for t1 in tuple1:
for t2 in tuple2:
c=(t1,t2)
d=(t2,t1)
ls.append(c)
ls.append(d)
return tuple(ls)
first_tuple = (1, 2)
second_tuple = (4, 5)
mult_tuple(first_tuple, second_tuple)
Код, который я написал, работает, однако я ищу более хороший код
спасибо заранее
Мой путь в одной строке:
[item for sublist in [[(i,j),(j,i)] for i in first_tuple for j in second_tuple] for item in sublist]
[(1, 4), (4, 1), (1, 5), (5, 1), (2, 4), (4, 2), (2, 5), (5, 2)]
def mul_tup(tup1, tup2):
l=[]
for x in tup1:
for y in tup2:
a=(x,y)
b=(y,x)
l.append(a)
l.append(b)
return tuple(l)
first_tup= tuple([eval(x) for x in input("enter the values: ").split(',')])
second_tup= tuple([eval(x) for x in input("enter the values: ").split(',')])
q = mult_tup(first_tup, second_tup)
print(q)