您的位置:

List如何判断里面有没有该值为中心

一、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表达式的方式得到结果。