请问有人可以帮我吗?我正在尝试使用简短版本的检查 b 是否不存在,然后分配 '' 或无,但我遗漏了一些东西
>test = dict(s = b if b else '')
>NameError: name 'b' is not defined
编辑:我知道 b 没有定义,相反我想找到一种方法来创建一个带有值的字典(如果存在)或 '' 如果不存在,我想在短时间内做到这一点..谢谢
请问有人可以帮我吗?我正在尝试使用简短版本的检查 b 是否不存在,然后分配 '' 或无,但我遗漏了一些东西
>test = dict(s = b if b else '')
>NameError: name 'b' is not defined
编辑:我知道 b 没有定义,相反我想找到一种方法来创建一个带有值的字典(如果存在)或 '' 如果不存在,我想在短时间内做到这一点..谢谢
你应该使用字典理解
d = {key: value for (key, value) in sequence if condition}
BlackVegetable 的评论也是正确的,你还没有定义b
,所以 python 不能使用它。
您尚未定义任何名为b
. 不过,这看起来可能是 XY 问题。你到底想做什么?插入字典?只用一个元素创建一个新的?
有人早些时候发布了这个,然后删除了它,但我测试了它并且它有效:
dict(s=b) if b else dict(s='')`
如果b
是None
,则上述行将起作用。这就是我从问题中了解到的,您想检查 b 是否存在。然后,如果是这样,您希望将密钥设置为这样,否则设置为''。