我在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'?
答案 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