我有一个哈希/关联数组列表和其他嵌套对象,例如哈希哈希等。样本数据是json格式。
从上面描述的复杂数据结构中我只对特定的重复 {k,v} 对感兴趣,它们可以重新构造,并且可以作为参数迭代地传递给一个远程过程。远程进程对值 v 执行操作,并生成输出'V'。输出'V'可以作为 {k,V} 映射回'k' - 这是一个相当常见的问题,如:< / p>
Iternation 1:
{k1,v1} == “为输入提取并重新构建 v1 ” ==&gt;(进程)== “输出” ==&gt; {V1} == “映射到k1” ==&gt; {k1,V1}
迭代2:
{k2,v2} == “为输入提取并重新构建 v2 ” ==&gt;(进程)== “输出” ==&gt; {V2} == “映射到k2” ==&gt; {k2,V2}
迭代3:
.......
远程进程还有一项附加功能,允许它使用边界分隔符(例如':')在一次调用中摄取多个值 v 。如下图所示:
迭代1:
{k1,v1} , {k2,v2} == “提取并重新构建 v1 : v2 表示输入“ ==&gt;(处理)== ”输出“ ==&gt; {V1:V2} == “map to k1,k2” ==&gt; {k1,V1},{k2,V2}
迭代2:
{k3,v3} , {k4,v4} == “提取并重新构建 v3 : v4 输入“ ==&gt;(处理)== ”输出“ ==&gt; {V3:V4} == “map to k3,k4” ==&gt; {k3,V3},{k4,V4}
迭代3:
.......
我想到的一件事是使用'map'功能而不是迭代/光标。 有哪些其他技术/方法可以改善“棘手”场景的性能?目标是减少对流程的调用,但不是以性能为代价
Python或欢迎样板建议
答案 0 :(得分:0)
在python中:
def passPairs(adict):
k1, v1 = adict.popitem('k1')
k2, v2 = adict.popitem('k2')
V1, V2 = process(v1, v2) # corrected the case
adict.update(zip((k1,k2), (V1, V2))