如果x=t1,那么调用If语句x in t1 and x in t2将检查if t1 is a element of t1和if t1 is a element of t2,这是不可能的,因为两者都是元组而不是元组的元组。所以你的if语句不会被调用。所以打印将永远不会被执行。
同样的情况也会发生在x=t2
您可以使用Counterfrom collections来获得这样的交叉点:
>>> from collections import Counter
>>> a = Counter((1, 2, 3, 4, 4, 5, 5))
>>> b = Counter((4, 4, 5, 6, 7, 8))
>>> tuple(a & b)
(4,5)
使用集合:
结果:
我认为你的要素分配才是问题所在。元素本身是一个元组,因此您可以使用if语句来计算元组是否在t1中,而不是元素本身是否在t1中。尝试获取元组中的所有元素:
现在,你的if语句应该有用了。你的打印声明也很奇怪。你知道吗
在使用
element = t1,t2
这个语句时,您正在生成元组的元组。示例:-你知道吗调用
for x in element:
意味着x值将是t1或t2,而不是t1和t2的元素。你知道吗如果x=t1,那么调用If语句
x in t1 and x in t2
将检查if t1 is a element of t1
和if t1 is a element of t2
,这是不可能的,因为两者都是元组而不是元组的元组。所以你的if语句不会被调用。所以打印将永远不会被执行。同样的情况也会发生在x=t2
您可以使用
Counter
fromcollections
来获得这样的交叉点:相关问题 更多 >
编程相关推荐