請有人可以幫助我嗎? 我試圖使用檢查,如果B不存在,那麼ASIGN短版「」 或無,但我失去了編輯的東西Python有條件地創建一個字典的元素
>test = dict(s = b if b else '')
>NameError: name 'b' is not defined
:我知道B沒有定義,相反,我想找到一種方式來 創建一個值如果存在的字典或''如果不存在,我想要在短的方式做 ..謝謝
請有人可以幫助我嗎? 我試圖使用檢查,如果B不存在,那麼ASIGN短版「」 或無,但我失去了編輯的東西Python有條件地創建一個字典的元素
>test = dict(s = b if b else '')
>NameError: name 'b' is not defined
:我知道B沒有定義,相反,我想找到一種方式來 創建一個值如果存在的字典或''如果不存在,我想要在短的方式做 ..謝謝
您尚未定義任何變量名爲b
。這看起來可能是XY問題。你究竟在做什麼?插入字典?用一個元素創建一個新的?
我不需要這個功能...無論如何感謝 – user1913878 2013-03-12 21:33:56
我想要創建一個新的,它可以有多個元素,但首先我想要一個簡短的方法來做到這一點與一個元素來理解。 .. – user1913878 2013-03-12 22:02:42
您應該使用字典解析
d = {key: value for (key, value) in sequence if condition}
而且BlackVegetable的評論是真實的,你還沒有定義b
,所以Python不能使用它。
有人張貼這早些時候,然後將其刪除,但我測試,它的工作原理:
dict(s=b) if b else dict(s='')`
如果b
爲None
,上述行會工作。這就是我從這個問題所理解的,你想檢查是否存在。然後如果是這樣,你想要設置密鑰,否則爲''。
'dict(s = b if b else None)'should also work。我刪除了我的答案,因爲如果沒有定義「b」,它仍然會中斷,正如其他人指出的那樣。 – msvalkon 2013-03-13 07:33:55
Python不知道你指的是什麼,因爲'b'根本沒有被定義。 – BlackVegetable 2013-03-12 21:26:59
「如果價值存在」是什麼意思?你如何在你的程序中創建's'的地方*,而不知道*是否已經定義了'b''? – 2013-03-12 22:01:17