亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

`if` 語句的冗余條件

`if` 語句的冗余條件

守著一只汪 2023-01-04 11:03:20
我if陳述的條件是多余的嗎?if 'a' in b and b['a']:'a'是一本字典
查看完整描述

3 回答

?
烙印99

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


查看完整回答
反對 回復 2023-01-04
?
慕的地6264312

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

工作得很好。


查看完整回答
反對 回復 2023-01-04
?
慕桂英3389331

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。


查看完整回答
反對 回復 2023-01-04
  • 3 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號