好的内比较子列表,所以我想写计数称为成对比较排名选票的方法。我应该指定,我是一个完整的新手,当涉及到的每一个词的意义上编写代码。到目前为止,我已经成功地创造了选票(感谢这个网站的其他用户),并根据他们的位置分成排名对。接下来,我需要把它们分成不同的列表,以便在每个有序对考生在一起秩无关(这是一个如何确定候选人如何相较于其他人做的一部分)。这里是我到目前为止的代码:成对比较:一个列表
import itertools
import random
import collections
candidates = ['Trump', 'Cruz', 'Rubio', 'Carson', 'Fiorina']
def simul_ballots(num_voters):
ballots = []
choice = candidates[:]
for _ in range(num_voters):
random.shuffle(choice)
ballots.append(choice[:])
return ballots
n=3
ballots = simul_ballots(n)
i=0
m=0
oPairs = []
while i < n:
for a, b in itertools.combinations(ballots[i], 2):
x = (a,b)
x
ops = list(x)
oPairs.append(ops)
i += 1
oPairs
l = len(oPairs)-1
k=0
j=(k+1)
while (k < l):
print oPairs[k]
while (j < l):
#if all (x in oPairs[i] for x in oPairs[j]):
if (set(oPairs[k])==set(oPairs[j])):
print oPairs[j]
j+=1
k+=1
到目前为止,我被困在这最后一节。我似乎无法理解如何给每个子列表进行比较,以其他(不重复,其重要的是有子列表相同数量的,我开始在这个例子中,我只产生3套票为目的出于测试目的,所以应该有三个有序对使用相同的考生,无论定位的(我需要定位后,以高分考生)。在正确的方向上没有任何提示或建议,将不胜感激!