首页 > 解决方案 > python中的平面序列可以有'in'运算符吗?

问题描述

在平面序列(例如 str、bytes、bytearray 等)中,我们能否拥有in不同于容器序列(例如 list、tuple、collections.deque 等)的运算符?in除了容器序列,我们还有其他地方可以使用运算符吗?

标签: pythoncontainers

解决方案


in运算符适用于任何实现该__contains__方法的类。

x in y

实现为:

y.__contains__(x)

例如,str实现in搜索子字符串,而不是测试集合匹配的单个元素。

请参阅覆盖 Python 的“in”运算符?.


推荐阅读