元组比较 'A' == ('A'),如何避免?
Tuple comparison 'A' == ('A'), how to avoid that?
看到 python returns 对于这样的比较是正确的,我感到很困惑:
'A' == ('A')
然后我发现了this explanation from this问题。
Python 将元组中的每个元素与另一个比较项进行比较。
我的问题是 我怎样才能避免这种情况?
我正在寻找的是一个 '==' 逻辑运算符 returns True for 'A' == 'A' or ('A') == ('A' ) 但对于 'A' ==' ('A').
为假
您的"explanation"与您的实际问题无关。
('A')
是 不是 元组。它只是一个字符串。单元素元组定义如下:('A',)
。当您使用实际的元组时,您的比较正确 returns 错误:
>>> 'A' == ('A',)
False
Daniel Roseman 已经提供了正确答案。补充一下:
>>> type("A")
<type 'str'>
>>> type(("A"))
<type 'str'>
>>> type(("A",))
<type 'tuple'>
看到 python returns 对于这样的比较是正确的,我感到很困惑: 'A' == ('A')
然后我发现了this explanation from this问题。
Python 将元组中的每个元素与另一个比较项进行比较。 我的问题是 我怎样才能避免这种情况? 我正在寻找的是一个 '==' 逻辑运算符 returns True for 'A' == 'A' or ('A') == ('A' ) 但对于 'A' ==' ('A').
为假您的"explanation"与您的实际问题无关。
('A')
是 不是 元组。它只是一个字符串。单元素元组定义如下:('A',)
。当您使用实际的元组时,您的比较正确 returns 错误:
>>> 'A' == ('A',)
False
Daniel Roseman 已经提供了正确答案。补充一下:
>>> type("A")
<type 'str'>
>>> type(("A"))
<type 'str'>
>>> type(("A",))
<type 'tuple'>