python字典,练习题【对列表中的字典,进行重组】

# 将mlist中,字典的键和值取出,返回新字典mdict中
# mdict的结构如下:
# {'501':[9000,9500,9200],'502':[8000,8500,8200],'503':[7000,7500,7200]
'''
总的思路:生成2个列表,分别是
ls1 = [‘501’,’502’,’503’]
ls2 = [[9000,9500,9200],[8000,8500,8200],[7000,7500,7200]]
然后用zip方法打包,返回给dict方法
'''

mlist = [{'sid': '501', '7月': 9000, '8月': 9500, '9月': 9200},
         {'sid': '502', '7月': 8000, '8月': 8500, '9月': 8200},
         {'sid': '503', '7月': 7000, '8月': 7500, '9月': 7200}]

ls1 = []
ls2 = []

for i in mlist:
    ls1.append(i.get('sid'))
    ls2.append([x for x in i.values() if x != '501' and x != '502' and x != '503'])

mdict = dict(zip(ls1,ls2))
print(mdict)

ls2列表生成式,也可以使用成员运算符not in 

    ls2.append([x for x in i.values() if x not in ['501','502','503']])

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值