在 Python 中是不是有“in”运算符的函数
Posted
技术标签:
【中文标题】在 Python 中是不是有“in”运算符的函数【英文标题】:In Python is there a function for the "in" operator在 Python 中是否有“in”运算符的函数 【发布时间】:2014-08-20 23:13:33 【问题描述】:“in”运算符是否有任何 Python 函数,例如我们对 operator.lt、operator.gt、.. 的函数。 我不想使用这个函数来做类似的事情:
operator.in(5, [1,2,3,4,5,6])
>> True
operator.in(10, [1,2,3,4,5,6])
>> False
【问题讨论】:
我不明白为什么你要添加导入的开销,而简单的 a in b 可以在任何你使用它的地方工作。 @gkusner:我不确定这里的情况,但如果你想在回调中使用它,你需要一个函数,而不是内置运算符。 因此问题 - 在上述问题中,不需要函数 @gkusner:将您的问题提炼成最容易理解的部分是一种非常有用的 SO 方法。我们不需要知道为什么 OP 想要这个 - 问题很清楚(并且也清楚地表明他们知道in
运算符)并且简洁。您是否希望 OP 发布 50 行代码,然后询问如何使其在函数回调中工作,而不是在这里将问题提炼到本质?
实际上,我是在问这个问题以获取我自己的信息-我想了解可能需要这样做的用例-当然,回调是我只是想了解是否有其他地方的回调实际上可能有用/需要。
【参考方案1】:
是的,使用operator.contains()
;注意操作数的顺序是颠倒的:
>>> import operator
>>> operator.contains([1,2,3,4,5,6], 5)
True
>>> operator.contains([1,2,3,4,5,6], 10)
False
您可能错过了文档底部方便的mapping table。
【讨论】:
以上是关于在 Python 中是不是有“in”运算符的函数的主要内容,如果未能解决你的问题,请参考以下文章