我写了一个函数来检查列表中是否存在某个值,如果存在则返回True。对于完全匹配的情况,它可以正常工作,但是我需要它在列表条目的任何位置存在该值时也返回True(例如,value <= listEntry)。以下是我用于该函数的代码:
def isValInLst(val,lst):
"""check to see if val is in lst. If it doesn't NOT exist (i.e. != 0),
return True. Otherwise return false."""
if lst.count(val) != 0:
return True
else:
print 'val is '+str(val)
return False
不用循环遍历整个字符字符串,也不用使用正则表达式(除非它们是最有效的方法),我该如何以Pythonic的方式实现这个功能?
这与另一个SO问题非常相似,但我需要检查整个val字符串在列表中的任意位置是否存在。另外,如果能返回匹配项的索引/指数就更好了,但我相信这在Stackoverflow的其他地方已经解决过了。
b in x for x in a
而不是x in b
(你想检查你的键是否在列表的任何元素中)。 - poke