循环嵌套(关于多层嵌套循环)

精英怪
广告

在企业后台开发中,难免遇见从多个系统取数、合并的需求。

循环嵌套(关于多层嵌套循环)

传统的方案就是多层for循环嵌套。随着数据量的增大和数据源的增多执行效率会越来越低,维护成本也会越来越高。

所以不妨尝试下内存换效率的方案:

实例如下:

a = [dict(id=10, name='lisi'), dict(id=11, name='zhangsan'), dict(id=12, name='wangwu')] b = [dict(id=10, age=20), dict(id=11, age=15), dict(id=12, age=16)] # 现在需要把其做合并操作得到字典 {id, name, age} # 把列表a转字典 aDict = {} for _it in a: aDict[_it.get('id')] = _it # 把列表b转字典 bDict = {} for _it in b: aDict[_it.get('id')] = _it result = [] # 做联结运算 for _key in set(aDict.keys()) & set(bDict.keys()): result.append(dict(id=_key, name=aDict.get(_key, {}).get('name')), age=bDict.get(_key, {}.get('age')) )

在一定程度上可以简洁代码,加强扩展性。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,226人围观)

还没有评论,来说两句吧...