【发布时间】:2021-03-24 04:06:09
【问题描述】:
我发现评估a in b == c 的结果总是等于(a in b) and (b == c)。谁能解释一下?
这是一个在 Python3.7 上运行的示例:
>>>> "123" in "1234" == "1234"
True
>>>> "123" in "1234" != "1234"
False
>>>> "123" in "1234" != "12345"
True
>>>> "123" in "1234" == "12345"
False
>>>> "888" in "1234" == "1234"
False
【问题讨论】:
-
它的工作原理与
1 < 2 < 3完全相同。 -
@Selcuk 被假定的骗子非常不适合这个问题。
-
@hobbs 我不同意。这个问题证实了这一发现,答案解释了它是如何在内部工作的。如果您提出建议,我很乐意在重复项列表中添加另一个重复项。
-
好问题。我没有意识到链接会变得多么奇怪!
-
为什么这些表达式是等价的?因为 Python 语言设计者决定他们会这样做。仅此而已。
标签: python