两个乒乓球队进行比赛,各出三人。
甲队为 a,b,c 三人,乙队为 x,y,z 三人。
已抽签决定比赛名单。有人向队员打听比赛的名单。
a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出三队赛手的名单。
first = ["a","b","c"]
second = ["x","y","z"]
checklist = [("a","x"),("c","x"),("c","z")] #不存在的组合阵容
l = []
tuple1 = ()
for i in range(len(first)):
for j in range(len(second)):
tuple1 = (first[i],second[j])
if tuple1 not in checklist:
l.append(tuple1)
print(l)
import itertools
first = ('a', 'b', 'c')
second = ('x', 'y', 'z')
check_list = [('a', 'x'), ('c', 'x'), ('c', 'z')]
for i in itertools.permutations(first, 3): #将元组first组合成不同的排序顺序
# print(i)
f = lambda a, b: len([True for j in zip(a, b) if j not in check_list]) #判断满足,组成的列表数据不在check_list里面
if f(i, second) == 3:
print(list(zip(i, second)))