为什么以下声明不相同?

时间:2019-06-14 13:35:37

标签: python tuples

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

令人困惑,请解释

if any(key in [tuple("expect tuple"), tuple(("expect tuple"),),("expect tuple")] for key in [(("expect tuple"),)]):
    print("same")

1 个答案:

答案 0 :(得分:5)

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

("expected tuple",)

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