相关疑难解决方法(0)

Python中的简单语法错误,否则dict理解

我有一个集合和字典,值= 5

v = s = {'a', 'b', 'c'}
d = {'b':5 //<--new value}
Run Code Online (Sandbox Code Playgroud)

例如,如果字典d中的键'b'在set s中,那么我想在返回字典理解时使该值等于新值,或者如果set s中的键不在字典d中则使该值等于0.所以这是我的代码,在s ['b'] = 5并且我的新词典是...

{'a':0, 'b':5, 'c':0}
Run Code Online (Sandbox Code Playgroud)

我写了一个字典理解

{  k:d[k] if k in d else k:0 for k in s}
                          ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

为什么?!我很生气它不起作用.你是怎么做的如果在python中不是吗?

大家好抱歉.对于那些访问过这个页面的人,我最初放了{k:d [k]如果k in v else k:0 for k in v}而s ['b'] = 5只是表示我创建的新词典会有键'b'等于5,但它不正确你不能迭代这样的集合.

所以重申v和s是平等的.它们只是指向量和集合.

python list-comprehension python-3.x

1
推荐指数
1
解决办法
4303
查看次数

标签 统计

list-comprehension ×1

python ×1

python-3.x ×1