我不解看到了Python返回真像這樣的比較: 「A」 ==(「A」)元組比較'A'==('A'),如何避免這種情況?
Python將元組中的每個元素與另一個比較項進行比較。 我的問題是我該如何避免這種情況? 我在找的是'=='邏輯運算符,它返回'A'=='A'或('A')==('A')的真,但是'A'==' ('一個')。
我不解看到了Python返回真像這樣的比較: 「A」 ==(「A」)元組比較'A'==('A'),如何避免這種情況?
Python將元組中的每個元素與另一個比較項進行比較。 我的問題是我該如何避免這種情況? 我在找的是'=='邏輯運算符,它返回'A'=='A'或('A')==('A')的真,但是'A'==' ('一個')。
您的「解釋」與您的實際問題無關。
('A')
是不是元組。它只是一個字符串。單元素元組定義如下:('A',)
。當您使用一個實際的元組,你的比較正確返回False:
>>> 'A' == ('A',)
False
你太快了。 –
釘了它。我想我必須更準確地研究元組之後的逗號問題。 – DaniPaniz
正確的答案已經存在由Daniel Roseman提供。只是一個加法:
>>> type("A")
<type 'str'>
>>> type(("A"))
<type 'str'>
>>> type(("A",))
<type 'tuple'>
'('A')'不是元組,是嗎? 'type(('A'))'返回'str'。 – Psidom
哦,我的壞。我不知道定義一個元素元組是一種特殊情況。 –
逗號定義了一個元組,而不是括號。例外是空元組'()',它可以(應該?)寫成'(,)',但不需要'()'來表示任何括號表達式。 – chepner