请有人帮我这个吗? 我试图使用一个简短版本的检查,如果b不存在,那么asign'' 或者没有,但我错过了什么
>test = dict(s = b if b else '')
>NameError: name 'b' is not defined
编辑:我知道b没有定义,相反我想找到一种方法 创建一个带有值的字典(如果存在)或''如果不存在,我想这样做 在短的路上..谢谢
答案 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='')`
如果b
为None
,则上述行有效。这就是我从问题中理解的,你想检查b是否存在。如果是,则要设置密钥,否则设置为''。