在本文中,我们将展示如何编写一个Python程序,通过示例检查用户输入的元素是否存在于列表中。有多种选择;其中,使用in运算符、not in运算符和count方法是最快的解决方案,其次是for循环。
Python 程序:使用 in 运算符检查元素是否存在于列表中
在下面的程序中,我们声明了一个整数列表,并要求用户输入任何列表值。接下来,in 运算符与 if 语句一起将检查元素是否存在于列表中。在这里,in 运算符会找到元素并返回布尔值,如果元素存在则返回 True,如果不存在则返回 False。如果条件满足,则打印出元素存在的消息。
a = [10, 25, 50, 75, 100]
print(a)
num = int(input("Enter value = "))
if num in a:
print("It exists")
else:
print("It does not exists")
[10, 25, 50, 75, 100]
Enter value = 50
It exists
使用 not in 运算符
这个Python程序使用 not in 运算符来检查用户输入的元素是否存在于列表中。它与上面的示例类似,但不是检查元素是否存在,而是检查国家名称是否不在字符串列表中。如果不在,它将打印“它不存在”的消息。否则,它将打印“它存在”的消息。
countries = ["India", "USA", "UK", "Italy", "France", "Germany"]
print(countries)
name = input("Enter the Name = ")
if name not in countries:
print("It does not exists")
else:
print("It exists")
['India', 'USA', 'UK', 'Italy', 'France', 'Germany']
Enter the Name = UK
It exists
使用 count() 函数
count() 方法用于计算列表中某个元素的出现次数。因此,如果计数大于零,则表示该元素存在。
countries = ["India", "USA", "UK", "Italy", "France", "Germany"]
print(countries)
name = input("Enter the Name = ")
if countries.count(name) > 0:
print("It exists")
else:
print("It does not exists")
['India', 'USA', 'UK', 'Italy', 'France', 'Germany']
Enter the Name = USA
It exists
Python 程序:使用 for 循环检查元素是否存在于列表中
此程序中的 for 循环将遍历列表中的每个元素,if 语句将每个元素与给定数字进行比较。如果 if 语句返回布尔值 True,则表示找到了该数字;否则,表示不存在。
a = [10, 25, 50, 75, 100]
print(a)
num = int(input("Enter value = "))
flag = 0
for value in a:
if value == num:
flag = 1
break
if flag == 1:
print("It exists")
else:
print("It does not exists")
[10, 25, 50, 75, 100]
Enter value = 100
It exists
如果稍作调整,除了检查元素是否存在于列表中,我们还可以打印元素的索引位置。下面的程序使用 index() 函数来获取索引值。
a = [10, 25, 50, 75, 100]
print(a)
num = int(input("Enter value = "))
flag = i = 0
for value in a:
if value == num:
i = a.index(value)
flag = 1
break
if flag == 1:
print("It exists at Index Position: ", i)
else:
print("It does not exists")

您可以尝试使用 enumerate 来获得上述结果。
a = [10, 25, 50, 75, 100]
print(a)
num = int(input("Enter value = "))
flag = 0
for i, n in enumerate(a):
if n == num:
flag = 1
break
if flag == 1:
print("It exists at Index Position: ", i)
else:
print("It does not exists")
[10, 25, 50, 75, 100]
Enter value = 100
It exists at Index Position: 4
Python 程序:使用 index 函数检查元素是否存在于列表中
index() 函数将搜索给定元素并返回第一个匹配项的索引位置。如果找不到该值,它将引发 ValueError。因此,我们使用了 try 和 except 块,并利用 ValueError 来检查列表项是否存在。
countries = ["India", "USA", "UK", "Italy", "France", "Germany"]
print(countries)
name = input("Enter the Name = ")
try:
i = countries.index(name)
print("It exists at the Index Position: ", i)
except ValueError:
print("It does not exists")
['India', 'USA', 'UK', 'Italy', 'France', 'Germany']
Enter the Name = Italy
It exists at the Index Position: 3
使用 Counter() 函数
在 collections 库中,有一个 Counter() 函数用于计算每个项目的出现次数。因此,在此Python程序中,我们使用 Counter() 函数来确定或检查列表元素是否存在。在这里,如果计数大于零,则项目存在于列表中;否则,它不存在。
from collections import Counter
a = [10, 25, 50, 75, 100]
print(a)
num = int(input("Enter value = "))
count = Counter(a)
if count[num] > 0:
print("It exists")
else:
print("It does not exists")
[10, 25, 50, 75, 100]
Enter value = 10
It exists
使用 sort() 和 bisect_left()
在此程序中,我们使用了三个函数,并且要使用 bisect 函数,我们必须导入该库。sort() 函数将按升序对列表项进行排序。接下来,二分查找方法 bisect_left 如果找到给定元素,则返回其第一个实例。
from bisect import bisect, bisect_left
a = [10, 100, 175, 25, 90, 50, 75]
a.sort()
print(a)
num = int(input("Enter value = "))
if bisect_left(a, num) != bisect(a, num):
print("It exists")
else:
print("It does not exists")
[10, 25, 50, 75, 90, 100, 175]
Enter value = 90
It exists
使用 lambda 和 filter() 函数
此Python程序使用 lambda() 和 filter() 函数来检查用户输入的元素是否存在于列表中。在这里,filter() 函数不是简单地检查,而是过滤列表中的所有项,并将我们正在寻找的项打印为一个新列表。
countries = ["India", "USA", "UK", "Italy", "France", "Germany"]
print(countries)
name = input("Enter the Name = ")
new = list(filter(lambda a: name in a, countries))
print(new)
['India', 'USA', 'UK', 'Italy', 'France', 'Germany']
Enter the Name = India
['India']
使用 any() 函数
any() 函数将检查给定元素是否与最后一个项中的任何一项匹配,如果匹配则返回 True。
a = [10, 25, 50, 75, 100]
print(a)
num = int(input("Enter value = "))
flag = any(val == num for val in a)
if flag == 1:
print("It exists")
else:
print("It does not exists")
[10, 25, 50, 75, 100]
Enter value = 75
It exists