1

请问有人可以帮我吗?我正在尝试使用简短版本的检查 b 是否不存在,然后分配 '' 或无,但我遗漏了一些东西

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

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

4

3 回答 3

1

你应该使用字典理解

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

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

于 2013-03-12T21:30:23.257 回答
1

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

于 2013-03-12T21:26:52.917 回答
0

有人早些时候发布了这个,然后删除了它,但我测试了它并且它有效:

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

如果bNone,则上述行将起作用。这就是我从问题中了解到的,您想检查 b 是否存在。然后,如果是这样,您希望将密钥设置为这样,否则设置为''。

于 2013-03-12T21:32:14.167 回答