python字典嵌套字典_python中字典嵌套

字典里的键可以是数字,字符串,也可以是元组:其对应的值可以是Python支持的任何类型对象,如除了数字,字符串,也可以是列表,元组,或者字典。因此产生了字典嵌套使用问题。

字典嵌套字典

在多重关系,多行记录下可以考虑字典嵌套字典的方式。

如一个餐厅有很多桌子,每一个桌子又对应着若干个消费者就餐记录。显然一个餐厅就记录着两层关系,首先一个桌子对应的若干消费记录可以看成一行数据,N行就有n个消费记录。

1号桌:龙:消费100,张:消费200,李:消费300

2号桌:王:消费300,tom:消费400,mike:消费500

3号桌:郭:消费400,何:消费600

计算消费总额

代码如下:

no1 = {'long':100,'zhang':200,'li':300}

no2 = {'wang':300,'tom':400,'mike':500}

no3 = {'guo':400,'he':600}

rest = {'1号':no1,'2号':no2,'3号':no3}

total = 0

for get_value in rest.values():

total = total + sum(get_value.values())

print(total)

每一桌消费情况记录在no里,一个餐厅rest就有n个no。这样更方便的体现了数据之间的关系,更体现了字典记录数据的灵活性。

列表嵌套字典

就上述事例,若老板不关系就餐者是谁,只关心每一桌的就餐情况,那么我们可以采用列表嵌套字典的方式。代码如下:

L1 = [30.5,20,40.5]

L2 = [20,25.1,25]

L3 = [10,13,16.2]

rest2 = {'1号桌消费':L1,'2号桌消费':L2,'3号桌消费':L3}

for get_k,get_v in rest2.items():

print('%s:%.2f'%(get_k,sum(get_v)))

每一桌消费情况记录在列表L中,一个餐厅rest2就有n桌

字典嵌入列表

若餐厅经理想要了解每桌就餐情况,就可以采用字典嵌入列表的方式。代码如下:

no1 = {'long':100,'zhang':200,'li':300}

no2 = {'wang':300,'tom':400,'mike':500}

no3 = {'guo':400,'he':600}

rest3=[no1,no2,no3]

i=0

sum1=0

r_L=len(rest3)

get_d={}

while i < r_L:

get_d=rest[i]

sum1=sum1+sum(get_d.values())

print(get_d)

print('第%d桌消费:%d'%(i+1,sum1))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值