嗨,我有两个列表。
predicted = [1.0, 0.0, 0.0, 0.0, 2.0, 1.0]
actualnum = [0.0, 0.0, 1.0, 0.0, 2.0, 1.0]
我想知道如何按每个数字比较这两个列表,并获取匹配数。
基本上:
if predicted[0] matches actualnum[0] then 1
if predicted[0] matches actualnum[1] then 0
所以我会有:
predicted[0] not equal to actualnum[0] = 0
predicted[1] equal to actualnum[1] = 1
predicted[2] not equal to actualnum[2] = 1
etc.
最后我将在6场比赛中有4场。
如何为此创建for循环。我看过示例,但只说了set(a)&set(b)-但这仅显示了集合中有多少个相似的数字。但是,我真的只需要将同一索引[0]中的值仅与[0]和[1]仅与[1]进行比较。
答案 0 :(得分:1)
您可以通过许多不同的方式访问两个列表的ith
值。以下是一些选项:
for i in range(len(predicted)):
p = predicted[i]
a = actualnum[i]
for i, p in enumerate(predicted):
a = actualnum[i]
for p, a in zip(predicted, actualnum):
在循环的主体中,只需比较p
和a
并打印是否相等就可以打印任何内容。
如果只想知道有多少个值匹配,可以执行以下操作:
matches = sum(1 for p, a in zip(predicted, actualnum) if p == a)