Skip to main content
 首页 » 编程设计

python之a 和 b 的任意值使得 (a in b and b in a)==True

2025年05月04日13zhoujg

是否有关于此函数(在 python3 中)返回 True 的参数?

def p(a,b): 
    return (a in b and b in a) 

请您参考如下方法:

是的,一对相互包含的列表:

a, b = [], [] 
a.append(b) 
b.append(a) 
print(a in b and b in a) 

或者,一个包含自身的列表:

a = b = [] 
a.append(a) 
print(a in b and b in a) 

或者,破解 __contains__,in 运算符调用:

class Foo: 
    def __contains__(self, other): 
        return True 
 
a = Foo() 
b = Foo() 
print(a in b and b in a) 

或者,相等的字符串:

a = 'foo' 
b = 'foo' 
print(a in b and b in a) 

或者,相互产生的生成器:

def foo(): 
    x = yield 
    while True: 
        yield x 
 
a = foo() 
b = foo() 
next(a) 
next(b) 
a.send(b) 
b.send(a) 
print(a in b and b in a) 

这是个笑话,它永远不会结束:

import math 
from itertools import count 
a = math.inf 
b = count() 
print(a in b and b in a)