如何在python中删除重复字段并从中创建子列表?

如何在python中删除重复字段并从中创建子列表?,python,Python,“\u id”字段指的是机器组的id,我希望有一个子列表,为第一个云帐户重新组合这些id。每个云帐户的机器组列表 类似这样的事情可能会有所帮助: [{u'cloud_account': UUID('a639efb6-d4e0-4929-b309-8171bf61b508'), u'_id': UUID('d0576830-df96-4411-ac33-4bac597f2010')}, {u'cloud_account': UUID('a639efb6-d4e0-4929-b309-8171b

“\u id”字段指的是机器组的id,我希望有一个子列表,为第一个云帐户重新组合这些id。

每个云帐户的机器组列表 类似这样的事情可能会有所帮助:

[{u'cloud_account': UUID('a639efb6-d4e0-4929-b309-8171bf61b508'), u'_id': UUID('d0576830-df96-4411-ac33-4bac597f2010')}, 

{u'cloud_account': UUID('a639efb6-d4e0-4929-b309-8171bf61b508'), u'_id': UUID('a650e642-ee41-4ab7-8ad1-797c7bdcd2aa')}, 

{u'cloud_account': UUID('a639efb6-d4e0-4929-b309-8171bf61b508'), u'_id': UUID('c0a36d2e-f7dd-4d62-abe8-c26249e52520')}, 

{u'cloud_account': UUID('fd4bbf86-9803-4724-9576-d83355bdcff2'), u'_id': UUID('31140d2e-15a1-4203-bdbb-55c14cd6b83a')}])
以下是输出:

cloud_accounts = [
    {'cloud_account': 'a639efb6-d4e0-4929-b309-8171bf61b508', '_id': 'd0576830-df96-4411-ac33-4bac597f2010'},
    {'cloud_account': 'a639efb6-d4e0-4929-b309-8171bf61b508', '_id': 'a650e642-ee41-4ab7-8ad1-797c7bdcd2aa'},
    {'cloud_account': 'a639efb6-d4e0-4929-b309-8171bf61b508', '_id': 'c0a36d2e-f7dd-4d62-abe8-c26249e52520'},
    {'cloud_account': 'fd4bbf86-9803-4724-9576-d83355bdcff2', '_id': '31140d2e-15a1-4203-bdbb-55c14cd6b83a'}]

machine_groups_per_cloud_account = {d['cloud_account']: [] for d in cloud_accounts}
for d in cloud_accounts:
    machine_groups_per_cloud_account[d['cloud_account']].append(d['_id'])

import pprint
pprint.pprint(machine_groups_per_cloud_account)
machine_groups = [
    {'count': 1, '_id': '31140d2e-15a1-4203-bdbb-55c14cd6b83a'},
    {'count': 17, '_id': 'c0a36d2e-f7dd-4d62-abe8-c26249e52520'},
    {'count': 1, '_id': 'a650e642-ee41-4ab7-8ad1-797c7bdcd2aa'},
    {'count': 1, '_id': 'd0576830-df96-4411-ac33-4bac597f2010'}]
machine_groups_reorganized = {}
for m in machine_groups:
    machine_groups_reorganized[m['_id']] = m['count']

machine_count_per_cloud_account = {d['cloud_account']: 0 for d in cloud_accounts}
for d in cloud_accounts:
    machine_count_per_cloud_account[d['cloud_account']] += machine_groups_reorganized[d['_id']]

import pprint
pprint.pprint(machine_count_per_cloud_account)

在您给出的结果示例中,在<代码> DICT<代码>中有多次相同的键,它是不正确的,所以这里的想法是考虑<代码> CyrdLyActudio< /Cord>作为Python DIST键,并在相关联的列表(Python DIST值)中追加<代码> 每个云帐户的计算机数 以下是输出:

cloud_accounts = [
    {'cloud_account': 'a639efb6-d4e0-4929-b309-8171bf61b508', '_id': 'd0576830-df96-4411-ac33-4bac597f2010'},
    {'cloud_account': 'a639efb6-d4e0-4929-b309-8171bf61b508', '_id': 'a650e642-ee41-4ab7-8ad1-797c7bdcd2aa'},
    {'cloud_account': 'a639efb6-d4e0-4929-b309-8171bf61b508', '_id': 'c0a36d2e-f7dd-4d62-abe8-c26249e52520'},
    {'cloud_account': 'fd4bbf86-9803-4724-9576-d83355bdcff2', '_id': '31140d2e-15a1-4203-bdbb-55c14cd6b83a'}]

machine_groups_per_cloud_account = {d['cloud_account']: [] for d in cloud_accounts}
for d in cloud_accounts:
    machine_groups_per_cloud_account[d['cloud_account']].append(d['_id'])

import pprint
pprint.pprint(machine_groups_per_cloud_account)
machine_groups = [
    {'count': 1, '_id': '31140d2e-15a1-4203-bdbb-55c14cd6b83a'},
    {'count': 17, '_id': 'c0a36d2e-f7dd-4d62-abe8-c26249e52520'},
    {'count': 1, '_id': 'a650e642-ee41-4ab7-8ad1-797c7bdcd2aa'},
    {'count': 1, '_id': 'd0576830-df96-4411-ac33-4bac597f2010'}]
machine_groups_reorganized = {}
for m in machine_groups:
    machine_groups_reorganized[m['_id']] = m['count']

machine_count_per_cloud_account = {d['cloud_account']: 0 for d in cloud_accounts}
for d in cloud_accounts:
    machine_count_per_cloud_account[d['cloud_account']] += machine_groups_reorganized[d['_id']]

import pprint
pprint.pprint(machine_count_per_cloud_account)

你们可以把你们的预期输出发布到你们的预期产出中去吗?[你们们的云计算账户:你们们可以把你们们的预期输出发布到你们们的预期产出中去,你们们可以把你们们的预期输出放在你们们的预期输出中去吗?[你们们的云计算账户:UUID(a639efb6-D406-Db6-D409-b6-b6-b6-b6-b6-b6-b6-b6-b6-b6-b6-b6-3-b6-3-bb3-3-bbb3-3-bbb3-3-3-3-b09-b09-b09-3-3-b09-3-3-b09-8-8-8-8-8-8-8-8-8-8-8-8-8-bbbbbb09-8-8-8-8-414141414141414141414141414141('31140d2e-15a1-4203-bdbb-55c14cd6b83a'))通常,它只返回一个云帐户数组。我已经使用
数据
变量和我的示例代码使它运行良好:
res={'a639efb6-d4e0-4929-b309-8171bf61b508':['d0576830-df96-4411-ac33-4bac597f2010'、'a650e642-ee41-4BB7-8ad1-797C7BDD2AA'、'c0a36d2e-f7dd-4d62-abe8-c26249e52520'、'fd4bbf86-9803-4724-9576-d83355bdcff2':['31140d2e-15a1-4203-BDBBB-55c14cd6b83a']
当你说
数据时
你是指我发布的第一个数组吗?@BrokenStrings yes indeed你能分享整个代码以及你是如何测试它的吗?