我有一个列表-memory_per_instance
,如下所示:
[
{
'mem_used': '14868480',
'rsrc_name': 'node-5b5cf484-g582f'
},
{
'mem_used': '106618880',
'rsrc_name': 'infrastructure-656cf59bbb-xc6bb'
},
{
'mem_used': '27566080',
'rsrc_name': 'infrastructuret-l6fl'
},
{
'mem_used': '215556096',
'rsrc_name': 'node-62lnc'
}
]
现在,我们可以看到有两个资源组node
和infrastructure
。你知道吗
我想创建一个数组,其最终产品包含资源的名称(node
或infrastructure
),并且mem_used
将是mem_used
的总和。你知道吗
我已经能够用regex来区分这两个组了。你知道吗
从现在开始,我如何创建一个数组memory_per_group
,其结果是这样的
[
{
'mem_used': '230424576',
'rsrc_name': 'node'
},
{
'mem_used': '134184960',
'rsrc_name': 'infrastructure'
},
]
我可以将rsrc
的名称存储在tmp变量中,例如:
memory_per_pod_group = []
for item in memory_per_pod_instance:
tmp_rsrc = item['rsrc_name']
if(item['rsrc_name'] == tmp_rsrc):
memory_per_pod_group.append({'rsrc_name':get_group(tmp_rsrc, pod_hash_map), 'mem_used':mem_used})
memory_per_pod_instance.remove(item)
pprint.pprint(memory_per_pod_group)
但是接下来,我会在列表中重复一段不可忽略的时间。你知道吗
有没有办法提高效率?你知道吗
您只需通过它进行一次迭代,并用一个简单的startswith进行检查,然后用一个简单的增量直接附加到所需的dictionary键。你知道吗
像这样的
好吧,当然。您只需要一次迭代:
结果:
注意,
get_group
对于您的用例来说可能太简单了。结果有三个组,因为其中一个资源的键'infrastructuret'
末尾有一个“t”。你知道吗相关问题 更多 >
编程相关推荐