使用"存在"使用Python

时间:2017-07-12 18:49:41

标签: python list python-3.x exists

我在Python3中有一个程序,我在其中获取值并将它们附加到两个列表中的一个(我将某些值排序到某个列表中)。然后我想做这样的事情(只是使用列表中第一项的一个例子):

if list1[0] and list2[0] exist:
    #do something using both lists
else:
    if list1[0] exists:
        #do something using just the first list
    else:
        #do something using just the second list

它应该是一个备份:如果我没有获得两个列表的值,我想只使用第一个列表中的值。然后,如果我没有第一个列表中的项目,我使用第二个列表。所以我要问的是:如何测试列表中的项目是否存在' EXISTS'?

3 个答案:

答案 0 :(得分:5)

检查列表的长度。

if len(list1) > 0 and len(list2) > 0:
    # do something using both lists
elif len(list1) > 0:
    # do something using just the first list
else:
    # do something using just the second list

如果您正在寻找第一个元素,可以将其缩短为:

if list1 and list2:
    # do something using both lists
elif list1:
    # do something using just the first list
else:
    # do something using just the second list

评估布尔上下文中的列表会检查列表是否为非空。

答案 1 :(得分:2)

如果您想检查list[n]是否存在,请使用if len(list) > n。列表索引总是连续的,永远不会跳过,所以它可以工作。

答案 2 :(得分:2)

如果要检查列表中是否包含特定索引的元素,可以检查是否index < len(list1)。 (假设索引是非负整数)

if index < len(list1) and index < len(list2):
    #do something using both lists
elif index < len(list1):
    #do something using just the first list
elif index < len(list2):
    #do something using just the second list

如果要检查列表中是否包含特定值的元素,您将使用if value in list1

if value in list1 and value in list2:
    #do something using both lists
elif value in list1:
    #do something using just the first list
elif value in list2:
    #do something using just the second list