一、len()函数
判断List里面有没有该值最直观的方法就是使用Python自带的len()函数。首先假设我们有一个List called list1,我们需要判断是否存在值为value1的元素:
list1 = [value1, value2, value3, ...]
if len([i for i in list1 if i == value1]) > 0:
print("Value exists in the List!")
else:
print("Value does not exist in the List!")
上述代码首先利用List comprehension将List里与value1相等的元素筛选出来,然后通过len()函数得到筛选后的List的长度。如果长度大于0,则说明List里面存在值为value1的元素。
二、in和not in
Python中还有一种简单的判断List中是否含有某个值的方法,就是使用in和not in关键字。
list1 = [value1, value2, value3, ...]
if value1 in list1:
print("Value exists in the List!")
else:
print("Value does not exist in the List!")
代码中的in关键字用于判断value1是否在list1里面,如果存在,则输出“Value exists in the List!”,否则输出“Value does not exist in the List!”。
三、count()函数
List对象也自带了一个方法count(),用来统计列表中某元素出现的次数。如果对目标值的状态不关心,只想知道它在List中出现了几次,这个方法就会十分有用。
list1 = [value1, value2, value3, ...]
count = list1.count(value1)
if count > 0:
print("Value exists in the List!")
else:
print("Value does not exist in the List!")
上述代码首先对list1中value1出现的次数进行计数,再通过判断计数值的大小从而判断value1是否存在于list1中。
四、index()函数
List对象也自带了一个方法index(),用来获取某个元素在列表中第一次出现的索引。
index = list1.index(value1) # value1为目标值
if index >=0:
print("Value exists in the List!")
else:
print("Value does not exist in the List!")
如果目标值value1存在于list1中,index()方法将返回目标值第一次出现的下标,否则将抛出异常。
五、lambda表达式
如果想要一行代码实现判断List中是否有某个值,可以使用lambda表达式。
list1 = [value1, value2, value3, ...]
is_value_exist = lambda list1, x : True if x in list1 else False
print(is_value_exist(list, value1))
上述代码中,我们将判断是否存在目标值的代码写成一个lambda表达式,并通过调用lambda表达式的方式得到结果。