Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确保同一对输出对象不会在一行中重复出现两次?_Python_List_Pairing - Fatal编程技术网

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中使用。有没有办法解决这个问题