Tuple中的元组返回错误

时间:2015-10-12 19:37:26

标签: python boolean tuples

有人可以解释为什么以下是假的吗?

x = (1, 2, (3, 'John', 4), 'Hi')

print 3 in x

是因为3在另一个元组中吗?但如果是这种情况,那么数字3在技术上仍然是x ??

2 个答案:

答案 0 :(得分:2)

in运算符不会通过子元组递归搜索。从概念上讲,in只是遍历元组中的每个项i并检查是否x == i。如果它除了x in i之外检查了x == i,那么它会找到3,但它不会这样做。

答案 1 :(得分:2)

x包含4个项:整数1,整数2,元组(3, 'John', 4)和字符串'Hi',因此整数{{ 1}}不在3

x3 in x[2]