繁体   English   中英

搜索此数据对象的最快方法? (蟒蛇)

[英]fastest way to search through this data object? (python)

我有一个看起来像这样的数据对象:

    {
        'node-16': {
            'tags': ['cuda'],
            'localNodes': [
                {
                    'name': 'nC',
                    'consumesFrom': ['nA', 'nB'],
                    'classType': 'VectorAdder.VectorAdder'
                },
                {
                    'name': 'nB',
                    'consumesFrom': None,
                    'classType': 'RandomVector'
                }
            ]
        },
        'node-17': {
            'tags': ['boring'],
            'localNodes': [
                {
                    'name': 'nA',
                    'consumesFrom': None,
                    'classType': 'RandomVector'
                }
            ]
        }
    }

注意,节点nA是nC的生产者。 找出给定localNode是否是数据结构中另一个localnode的生产者的最快方法是什么(不在同一列表中)?

例如,我想知道nA(节点17)产生nC(存在于节点16上)。 但是我不需要知道nB是为nC生成的,因为它们存在于相同的localNodes列表中。

namedict = dict((x['name'], y) for y in data for x in data[y]['localNodes'])
proddict = dict((z['name'], [y for y in z['consumesFrom'] if namedict[y] != x])
  for x in data for z in data[x]['localNodes'] if z['consumesFrom'] is not None)

print 'nA' in proddict['nC']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM