有人可以解释为什么以下是假的吗?
x = (1, 2, (3, 'John', 4), 'Hi')
print 3 in x
是因为3在另一个元组中吗?但如果是这种情况,那么数字3在技术上仍然是x ??
答案 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
。
但x
为3 in x[2]
。