在 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”运算符的函数的主要内容,如果未能解决你的问题,请参考以下文章

元组数据结构支持 in 运算符吗

元组数据结构支持 in 运算符吗

python 怎么判断集合中是不是包含

python 运算符,“not in”没有运算符

带有指向结构的指针和要显示的变量的函数(实际上类似于 python 中的“in”运算符)

Python API快餐教程(1) - 字符串查找API