如何比较列表中的元素

时间:2017-12-04 12:34:44

标签: python

如何在列表中存储值,然后相互比较

all_click = []                                            
all_click_red = []



while True:

    a = input('give a number: ')                          
    b = input('give a second number: ')

    if a == 1:
        all_click.append(a)                               

    if b == 1:                                            
        all_click_red.append(b)                           

    if all_click_red[-1] and all_click[-1] == 1:          
        print('all good')                                 

    else:                                                 
        print('false')     

因为我收到这样的错误:

 if all_click_red[-1] and all_click[-1] == 1:
     IndexError: list index out of range

2 个答案:

答案 0 :(得分:0)

原因是其中一个列表中可能没有值。

你可能想要这样的东西:

if len(all_click) > 0 and len(all_click_red) > 0 and all_click_red[-1] == 1 and all_click[-1] == 1:          
    print('all good')                                 

else:                                                 
    print('false')     

在访问像这样的列表中的索引时,永远不会伤害检查索引安全性。

我还在all_click_red数字检查中添加了相等性。我假设那是你所追求的。抱歉,如果我误判了

答案 1 :(得分:0)

只有当它的值相等时才向列表中添加内容1.如果它不等于1,则列表为空,列表[-1]将超出范围,提高这个错误。