TypeError: unhashable type: 'dict_keys'

python 列表中元素为字典,字典值为Int类型,去除字典键相同的元素(键相同,值相加)
b = dict()
a = [{'计算': 6}, {'计算': 1}, {'计算': 8}, {'存储': 6}, {'存储': 3}, {'存储': 2}, {'网络': 1}, {'网络': 1}, {'网络': 1}, {'网络': 1},
     {'网络': 1}, {'数据库': 1}, {'数据库': 2}, {'数据库': 3}, {'安全': 2}, {'安全': 2}, {'安全': 2}, {'安全': 2}, {'平台': 1}, {'平台': 1},
     {'平台': 1}, {'平台': 1}, {'平台': 4}, {'监控与运维': 1}]
for x in a:
    if list(x.keys())[0] in b:
        b[list(x.keys())[0]] += list(x.values())[0]
    else:
        b[list(x.keys())[0]] = list(x.values())[0]

print(b)
打印结果:

{‘计算’: 15, ‘安全’: 8, ‘平台’: 8, ‘网络’: 5, ‘存储’: 11, ‘数据库’: 6, ‘监控与运维’: 1}

python 字典根据列表元素排序
category_order = [7, 3, 4, 6, 1, 2, 8, 5, 9, 10]
b = {1: '数据库', 2: '安全', 3: '存储', 4: '网络', 7: '计算', 8: '平台', 9: '监控与运维'}
b = sorted(b.items(), key=lambda x: category_order.index(x[0]))
print(b)

打印结果:

[(7, ‘计算’), (3, ‘存储’), (4, ‘网络’), (1, ‘数据库’), (2, ‘安全’), (8, ‘平台’), (9, ‘监控与运维’)]

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值