【发布时间】:2019-10-14 19:26:57
【问题描述】:
我遇到了一些代码问题。我希望我的代码比较多个列表中包含的 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
我想要这个结果:
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
感谢您的帮助!
【问题讨论】: