Python有条件地创建一个字典的元素

时间:2013-03-12 21:25:56

标签: python

请有人帮我这个吗? 我试图使用一个简短版本的检查,如果b不存在,那么asign'' 或者没有,但我错过了什么

>test = dict(s = b if b else '')
>NameError: name 'b' is not defined

编辑:我知道b没有定义,相反我想找到一种方法 创建一个带有值的字典(如果存在)或''如果不存在,我想这样做 在短的路上..谢谢

3 个答案:

答案 0 :(得分:1)

您尚未定义任何名为b的变量。这看起来可能是XY问题。你究竟想做什么?插入字典?只用一个元素创建一个新的?

答案 1 :(得分:1)

您应该使用词典理解

d = {key: value for (key, value) in sequence if condition}

BlackVegetable的评论也是如此,你还没有定义b,所以python不能使用它。

答案 2 :(得分:0)

之前有人发布了这个,然后删除了它,但我测试了它并且它有效:

dict(s=b) if b else dict(s='')`

如果bNone,则上述行有效。这就是我从问题中理解的,你想检查b是否存在。如果是,则要设置密钥,否则设置为''。