元组比较'A'==('A'),如何避免?

时间:2016-11-08 14:10:45

标签: python tuples equality

我很困惑地看到python返回True进行比较,如下所示: 'A'==('A')

然后我从this问题中找到this解释。

Python将元组中的每个元素与另一个比较项进行比较。 我的问题是我该如何避免? 我正在寻找的是'=='逻辑运算符,对于'A'=='A'或('A')==('A')返回True,但对'A'=''(' A')。

2 个答案:

答案 0 :(得分:8)

您的“解释”与您的实际问题无关。

('A') 不是一个元组。它只是一个字符串。单元素元组的定义如下:('A',)。当您使用实际元组时,您的比较正确返回False:

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

答案 1 :(得分:1)

Daniel Roseman提供了正确答案。只是一个补充:

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

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

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