检查元素是否在列表中时出错

时间:2018-03-26 16:23:16

标签: python list if-statement file-io io

我正在尝试检查某些元素是否在列表中,并执行数字更新,但我一直收到错误(如下)。

"if h2output[1] not in h1output == True or h2output[2] not in h1output == True:
IndexError: list index out of range"
doublewin = 0

h1output = []
h2output = []
h3output = []
v1output = []
v2output = []
v3output = []
d1output = []
d2output = []


for i in h1:
    if i not in h1output:
        h1output.append(i)
    if len(h1output) == 2:
        doublewin += 1


for i in h2:
    if i not in h2output:
        h2output.append(i)

if len(h2output) == 2:
    if h2output[1] not in h1output == True or h2output[2] not in h1output == True:
        doublewin += 1

2 个答案:

答案 0 :(得分:0)

作为len(h2output)==2,它只有2个位置,在python中从零开始,因此h2output[2]超出范围,索引必须是01

答案 1 :(得分:0)

您在h2output[1]h2output[2]中拥有硬编码索引。其中任何一个都导致了这个问题。请检查列表的大小。

在if条件下删除真正的布尔值,因为它是不必要的。