擅长:python、mysql、java
<p>除了输入字典之外,这个小函数不需要任何额外的参数就可以完成这项工作</p>
<pre><code>def unpack_dict(d):
n = [len(v) for k,v in d.items() if type(v) is list][0] #number of items in the list
r = []
for i in range(n):
_d = {}
for k,v in d.items():
if type(v) is list:
_d[k] = v[i]
else:
_d[k] = v
r.append(_d)
return r
cond = {"type":"example","fieldToBreak":["1","2","3"],"fieldInt":1,"fieldFloat":0.1}
unpack_dict(cond)
[{'type': 'example', 'fieldToBreak': '1', 'fieldInt': 1, 'fieldFloat': 0.1},
{'type': 'example', 'fieldToBreak': '2', 'fieldInt': 1, 'fieldFloat': 0.1},
{'type': 'example', 'fieldToBreak': '3', 'fieldInt': 1, 'fieldFloat': 0.1}]
</code></pre>
<p>函数确定列表项中有多少项(<code>n</code>),并使用该信息提取要插入字典的正确值。在<code>n</code>(<code>for i in range(n):</code>)上循环用于在最终输出中追加正确数量的词典。就这样。很容易阅读和理解</p>