我的意思是为什么我们不能把字典的关键字作为字典?
这意味着我们不能将字典作为另一个字典...
我有一个集合和字典,值= 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是平等的.它们只是指向量和集合.