gpt4 book ai didi

python - 处理列表中的项目

转载 作者:行者123 更新时间:2023-12-01 04:10:00 25 4
gpt4 key购买 nike

假设我有一个名为“tenant_id_dict”的字典,其条目如下:

defaultdict(<type 'list'>, {u'b0116ce25cad4106becbbddfffa61a1c': [u'demo_ins1'], u'1578f81703ec4bbaa1d548532c922ab9': [u'new_ins_1', u'new_tenant_ins']})

这是tenant_id 和instance_name 的组合。

现在我需要根据需要使用tenant_id和instance_name。

考虑以下代码:

for tenants,instances in tenant_id_dict.iteritems():

compute_value_for_instance = ck.reports.get_total(tenant_id=tenants, service='compute', instance_name=instances)
print compute_value_for_instance

这里我需要动态处理租户和instance_name的值。

但是在上面的代码中,我无法正确获得结果,因为实例具有值列表。

我需要处理直到列表中的最后一项。

有人让我知道这里的值处理方式。

最佳答案

您使用list初始化了defaultdit。这个列表是可迭代的,并且每个键都有值。因此,您需要迭代这些值(即 list),如下所示。

for tenants,instances in tenant_id_dict.iteritems():
for single_ins in instances:
compute_value_for_instance = ck.reports.get_total(tenant_id=tenants, service='compute', instance_name=single_ins)
print compute_value_for_instance

工作演示-

from collections import defaultdict
#Create a dummy defaultdict with list values
d = defaultdict(list)

for i in range(5):
d[i].append(i+100)
d[i].append(i+200)
d[i].append(i+300)


#Experiment
for k,v in d.iteritems():
for single_vale in v:#Here v is a list
print str(k)+str(single_vale)
print d

输出-

0100
0200
0300
1101
1201
1301
2102
2202
2302
3103
3203
3303
4104
4204
4304
defaultdict(<type 'list'>, {0: [100, 200, 300], 1: [101, 201, 301], 2: [102, 202, 302], 3: [103, 203, 303], 4: [104, 204, 304]})

关于python - 处理列表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35077241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com