关于python:元组比较’A’==(’A’),如何避免?

Tuple comparison 'A' == ('A'), how to avoid that?

本问题已经有最佳答案,请猛点这里访问。

看到python返回true进行这样的比较,我很困惑:'A'==('A')

然后我从这个问题中找到了这个解释。

python将元组中的每个元素与另一个比较术语进行比较。我的问题是我怎样才能避免这种情况?我要找的是一个"=="逻辑运算符,它为"a"=="a"或("a")==("a")返回true,而为"a"=="("a")返回false。


你的"解释"与你的实际问题无关。

('A')不是元组。它只是一根绳子。单元素元组的定义如下:('A',)。当使用实际元组时,比较正确地返回false:

1
2
>>> 'A' == ('A',)
False


丹尼尔·罗斯曼已经给出了正确的答案。只是一个补充:

1
2
3
4
5
6
7
8
>>> type("A")
<type 'str'>

>>> type(("A"))
<type 'str'>

>>> type(("A",))
<type 'tuple'>