字典相关练习题

#字典无序,列表有序
dic = {'name':'lisa','age':18}
print(dic.get('name','not in'))
print(dic.get('hoby','not in'))
dic.clear()
pricnicitems = {'apple':5,'cup':10}
pricnicitems['bacon']=7
#字典中不存在则设置默认值,存在的话不能通过.setdefault改变
pricnicitems.setdefault('saudage',0)
print(pricnicitems)


message = 'hi i, love china and usa and ha and hi and Hi'
words = message.split()
count = {}
for word in words:
    if not word[-1].isalpha():
        word = word[:-1]
    #单词没出过,键值设置为0
    word = word.lower()
    count.setdefault(word,0)
    #单词出现过,键值加一
    count[word] += 1
print(count)

#统计
allguest = {'alice':{'apple':5,'suger':3,'cup':8},
            'bob':{'ham':5,'suger':3,'cup':8},
            'mary':{'ham':5,'suger':3,'cup':8}}
def total_items(allguest,item):
    #initiate a counter
    number = 0
    #tranverse values of allguest
    for v in allguest.values():
        #accumulate the item
        number += v.get(item, 0)
#print number of items(call fun)
    return number


for v in allguest.values():
    #set(字典),输出字典中存在的键值
    foods=set(v)

for food in foods:
    print('{:20}      {}'.format(food,total_items(allguest,food)))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值