python - 数据重映射技术

标签 python json go

我有一个哈希列表/关联数组和其他嵌套对象,例如哈希的哈希等。示例数据为 json 格式。

简单的部分

从上面描述的复杂数据结构中,我只对特定的重复 {k,v} 对感兴趣,它可以重新构造,并且可以作为参数迭代传递给一个远程进程。远程进程对值 v 执行操作并生成输出 'V'。输出 'V' 可以映射回 'k' 作为 {k,V} - 一个相当常见的问题,说明如下:

迭代 1:

{k1,v1}==“为输入提取和重组 v1==>(处理)==< em>“输出”==>{V1}==“映射到 k1”==>{k1,V1}

迭代 2:

{k2,v2}==“为输入提取和重构 v2==>(处理)==< em>“输出”==>{V2}==“映射到 k2”==>{k2,V2}

迭代 3:

.......

棘手的部分

远程进程有一个额外的功能,允许它在使用边界分隔符(例如 ':')的单个调用中摄取多个值 v。如下图所示:

迭代 1:

{k1,v1},{k2,v2}==“提取和重组v1:v2 用于输入”==>(处理)==“输出”==>{V1:V2}==“映射到 k1, k2”==>{k1,V1},{k2,V2}

迭代 2:

{k3,v3},{k4,v4}==“提取和重组v3:v4 用于输入”==>(处理)==“输出”==>{V3:V4}==“映射到 k3、k4”==>{k3,V3},{k4,V4}

迭代 3:

.......

方法?

我想到的一件事是使用“ map ”功能而不是迭代/光标。 还有哪些其他技术/方法可以提高“棘手”场景的性能?目标是减少对流程的调用,但不以性能为代价

欢迎使用 Python 或 go 样板建议

最佳答案

在 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))

关于python - 数据重映射技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46614640/

相关文章:

python - 稳定基线算法在简单的强化学习问题中探索糟糕的二维框

javascript - 向 JSON 添加新属性?

json - swift ,对象映射器 : Type 'User' does not conform to protocol 'Mappable'

go - 如何将类型 []os.FileInfo 转换为字符串?

python - 在 PyInstaller 中使用 --onefile 和 .spec

python - Flask-SQLAlchemy 导入/上下文问题

javascript - 在javascript中使用php数组填充 'select' ajax

go - ast.Inspect 不走 *ast.UnaryExpr

sockets - Golang 中的套接字调试器

python - 如何解决 "OverflowError: int too large to convert to float'?