假设我们有一个Python字典d,我们就像这样迭代它:
for k,v in d.iteritems():
del d[f(k)] # remove some item
d[g(k)] = v # add a new item
Run Code Online (Sandbox Code Playgroud)
(f并且g只是一些黑盒转换.)
换句话说,我们尝试添加/删除项目,d同时使用迭代它iteritems.
这个定义得很好吗?你能提供一些参考来支持你的答案吗?
(如果它被破坏了,如何解决这个问题非常明显,所以这不是我追求的角度.)
我无法理解Python 3中的嵌套字典理解.我从下面的示例中得到的结果输出正确的结构而没有错误,但只包含一个内部键:值对.我没有找到这样的嵌套字典理解的例子; 谷歌搜索"嵌套字典理解python"显示遗留示例,非嵌套理解,或使用不同方法解决的答案.我可能使用了错误的语法.
例:
data = {outer_k: {inner_k: myfunc(inner_v)} for outer_k, outer_v in outer_dict.items() for inner_k, inner_v in outer_v.items()}
Run Code Online (Sandbox Code Playgroud)
此示例应返回原始字典,但内部值已修改myfunc.
outer_dict字典的结构,以及结果:
{outer_k: {inner_k: inner_v, ...}, ...}
Run Code Online (Sandbox Code Playgroud) python syntax nested list-comprehension dictionary-comprehension