Python 如何确保同一对输出对象不会在一行中重复出现两次?
我已将两个对象列表排序为成对列表:Python 如何确保同一对输出对象不会在一行中重复出现两次?,python,list,pairing,Python,List,Pairing,我已将两个对象列表排序为成对列表: class Main: def __init__(self, name, 1): self.name = name self.1 = 1 def __str__(self): return self.name + "," + str(self.1) KL = [Main("Bruh", 4), Main("Famsquad"
class Main:
def __init__(self, name, 1):
self.name = name
self.1 = 1
def __str__(self):
return self.name + "," + str(self.1)
KL = [Main("Bruh", 4), Main("Famsquad", 1), Main("Alex", 6), Main("Albania", 3), Main("Aron", 2), Main("Adrian", 4), Main("Bruh", 5), Main("Sakka", 1), Main("A", 5), Main("B", 1), Main("C", 4), Main("D", 5), Main("E", 2), Main("F", 4), Main("H", 4)]
def lim():
if (int(len(KL)*0.2)%2) == 0:
return int(len(KL)*0.2)
else:
return int(len(KL)*0.2)+1
gr = lim()
ll = KL[:gr]
hl = KL[-gr:]
rl = KL[gr:len(KL)//2]
rl2 = KL[len(KL)//2:(len(KL)-gr)]
random.shuffle(hl)
random.shuffle(ll)
random.shuffle(rl)
random.shuffle(rl2)
eksrad = list(zip(ll, hl))
restrad = list(zip(rl, rl2))
for i in restrad:
eksrad.append(i)
Bruh,5 Famsquad,1
A,5 B,1
D,5 Sakka,1
Alex,6 E,2
Bruh,4 Albania,3
Adrian,4 Aron,2
C,4 H,4
输出如下所示,一组对:
class Main:
def __init__(self, name, 1):
self.name = name
self.1 = 1
def __str__(self):
return self.name + "," + str(self.1)
KL = [Main("Bruh", 4), Main("Famsquad", 1), Main("Alex", 6), Main("Albania", 3), Main("Aron", 2), Main("Adrian", 4), Main("Bruh", 5), Main("Sakka", 1), Main("A", 5), Main("B", 1), Main("C", 4), Main("D", 5), Main("E", 2), Main("F", 4), Main("H", 4)]
def lim():
if (int(len(KL)*0.2)%2) == 0:
return int(len(KL)*0.2)
else:
return int(len(KL)*0.2)+1
gr = lim()
ll = KL[:gr]
hl = KL[-gr:]
rl = KL[gr:len(KL)//2]
rl2 = KL[len(KL)//2:(len(KL)-gr)]
random.shuffle(hl)
random.shuffle(ll)
random.shuffle(rl)
random.shuffle(rl2)
eksrad = list(zip(ll, hl))
restrad = list(zip(rl, rl2))
for i in restrad:
eksrad.append(i)
Bruh,5 Famsquad,1
A,5 B,1
D,5 Sakka,1
Alex,6 E,2
Bruh,4 Albania,3
Adrian,4 Aron,2
C,4 H,4
我希望前一个输出与当前输出之间没有任何循环对。例如,如果前一个输出有一对a,5b,1
我不希望下一个输出有相同的对。总之,我想避免两次得到同一双鞋。我试图使用comp()函数,但意识到它只在python2中使用。有没有办法解决这个问题