Вы можете использовать itertools.combinations()
, чтобы получить комбинации:
list1 = ['jenny', 'bob', 'dan']
list2 = list(itertools.combinations(list1, r=2))
print(list2)
Вывод:
[('jenny', 'bob'), ('jenny', 'dan'), ('bob', 'dan')]
Если вы хотите связать каждого со следующим элементом (возвращаясь к конец l oop), вы можете использовать по модулю %
:
list1 = ['jenny', 'bob', 'dan']
list2 = []
for i, name in enumerate(list1):
name2 = list1[(i+1) % len(list1)]
list2.append((name, name2))
Выход:
[('jenny', 'bob'), ('bob','dan'),('dan','jenny')]