为什么以下声明不相同?

B.O*_*ama 1 python tuples

我以为我定义了一个元组。幸运的是它工作了很长时间。在一个特定的点上,它坏了->发现它实际上不是元组。最后,我期望像这样的里面有1个字符串的元组 ("expected tuple")

令人困惑,请解释

if any(key in [tuple("expect tuple"), tuple(("expect tuple"),),("expect tuple")] for key in [(("expect tuple"),)]):
    print("same")
Run Code Online (Sandbox Code Playgroud)

Ósc*_*pez 5

具有单个元素的元组必须这样编写:

("expected tuple",)
Run Code Online (Sandbox Code Playgroud)

如果没有,它,它将被解释为用括号括起来的值,而不是实际的元组。对于具有多个元素的元组,我们没有这个问题,在那种情况下,我们不需要结尾的逗号。