我的一些代码有问题。我想让我的代码比较一个包含多个列表的列表中的2个列表,但每个列表只比较一次。
resultList = [
['Student1', ['Sport', 'History']],
['Student2', ['Math', 'Spanish']],
['Student3', ['French', 'History']],
['Student4', ['English', 'Sport']],
]
for list1 in resultList:
for list2 in resultList:
i = 0
for subject in list1[1]:
if subject in list2[1]:
if list2[1].index(subject) >= list1[1].index(subject):
i+=1
else:
i+=2
print(list1[0] + ' - ' + list2[0] + ' : ' + str(i))
这将打印:
Student1 - Student1 : 2
Student1 - Student2 : 0
Student1 - Student3 : 1
Student1 - Student4 : 1
Student2 - Student1 : 0
Student2 - Student2 : 2
Student2 - Student3 : 0
Student2 - Student4 : 0
Student3 - Student1 : 1
Student3 - Student2 : 0
Student3 - Student3 : 2
Student3 - Student4 : 0
Student4 - Student1 : 2
Student4 - Student2 : 0
Student4 - Student3 : 0
Student4 - Student4 : 2
And i would like this result :
Student1 - Student1 : 2
Student1 - Student2 : 0
Student1 - Student3 : 1
Student1 - Student4 : 1
Student2 - Student2 : 2
Student2 - Student3 : 0
Student2 - Student4 : 0
Student3 - Student3 : 2
Student3 - Student4 : 0
Student4 - Student4 : 2
感谢您的帮助!涉及IT技术的相关内容。
itertools
是 Python 中非常有用的模块,你可以随时尝试它的一些方法。 - AdamGold