3 回答

TA貢獻1829條經驗 獲得超13個贊
假設 b 是字典,條件不是多余的。下面引用一個例子
b={'a':1,'b':1}
在這里,兩個條件都為真,因為 1)'a' in b 表示如果鍵 'a' 存在 & 2) b['a'] 表示如果鍵 'a' 處的值不是 None/0,即真的
b={'a':None}
在這里,第一個條件為真,因為存在鍵“a”,但第二個條件為假,因為“a”處的值為 None

TA貢獻1817條經驗 獲得超6個贊
如果b
是非整數數組,b['a']
則將不起作用。 b['a']
基本上是要求訪問 b 列表的“a”元素。如果 a 不是 int 它將不起作用。
即使 a 是一個整數, b[a] 也不同于檢查元素 a 是否在列表 b 中。
如果你的要求是檢查列表b中是否存在元素a,
if 'a' in b: some code
工作得很好。

TA貢獻2036條經驗 獲得超8個贊
我不明白你想用 b['a'] 實現什么。你能向我們展示更多你的代碼嗎?是ba字典嗎?如果是,那么“如果'a' in b”不正確,你應該使用b.keys(),如果'a'應該是一個鍵,b.values(),如果'a'應該是一個值,或者 b.items() 如果兩者都可以的話。如果它 b['a'] 應該是字典的一個元素,它應該在布爾上下文中評估為 True 或 False。(對于 int 或 float,0 的計算結果為 False,而任何其他值的計算結果為 True。對于字符串,空字符串的計算結果為 False,而任何其他值的計算結果為 True。對于列表、元組、字典或集合,如果它為空,則它'將評估為 False,如果它包含一項或多項,它將評估為 True。)
如果 b 是字符串,則 b['a'] 沒有意義,它既不能計算為 True 也不能計算為 False。
添加回答
舉報