【发布时间】:2018-09-29 16:46:29
【问题描述】:
我有一个多维字典,主键是散列,子值键入单个字符。我试图通过迭代包含我想要的子键字符的字符串来将值的子集分配给多个变量。比如:
A,B,C = tree[hash][i] for i in "xyz"
这相当于:
A = tree[hash]["x"]
B = tree[hash]["y"]
C = tree[hash]["z"]
但尝试在一行中完成所有操作,可能是嵌入一个函数,我将在其中传递变量列表和相应的子键字符串。
【问题讨论】:
-
执行以下操作
A,B,C = [tree[hash][i] for i in "xyz"] -
如果 hash 是变量名,请考虑将其更改为另一个名称,例如
hash_val或只是一个尾随下划线。 -
您是否总是有固定数量的接收变量与子键?即 abc 和 xyz 都是 3?
-
第二个@NChauhan 评论。 hash 是一个内置函数,你的变量名隐藏了它。 hash_ 避免了这种情况,并且在这种情况下经常使用尾随 _。
标签: python dictionary