zoukankan      html  css  js  c++  java
  • Python学习笔记函数之嵌套的字典和列表

    随笔记录方便自己和同路人查阅。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

      对于上一章列举的井字棋建模相当简单:棋盘只需要一个字典,包括9个键值对。当你对复杂的事物建模时,

    可能发现字典和列表中需要包含其他字典和列表。列表适用于包含一组有序的值,字典适合于包含关联的键于值。

    例如,下面的程序使用字典包含其他字典,用于记录谁为野餐带来了什么食物。tatalBrought()函数可以读取这个

    数据结构,计算所有客人带来的事物的总数。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

      请看以下示例代码:

    #
    # -*- coding:utf-8 -*-
    # Autor: Li Rong Yang
    #定义一个字典
    allGuests = {'Alice':{'apples':5,'pretzels':12},
                 'Bob':{'ham sandwiches':3,'apples':2},
                 'Carol':{'cups':3,'apples':1}}
    #定义一个函数接收传入的字典和要统计的东西名称
    def totalBrought(guests,item):
        numBrought = 0#计数
        for k,v in guests.items():#循环字典的键值对分别放入k,v中
            numBrought = numBrought + v.get(item,0)#检查要统计的物品是否在子字典中,并把该子字典的值给numBrought
        return numBrought#返回该值
    print('Number of things being brought:')#提示信息
    print(' - Apples ' + str(totalBrought(allGuests, 'apples')))#统计apples
    print(' - Cups ' + str(totalBrought(allGuests, 'cups')))#cups
    print(' - Cakes ' + str(totalBrought(allGuests, 'cakes')))#cakes
    print(' - Ham Sandwiches ' + str(totalBrought(allGuests, 'ham sandwiches')))#统计ham sandwiches
    print(' - Apple Pies ' + str(totalBrought(allGuests, 'apple pies')))#统计apple pies
    

      运行结果:

  • 相关阅读:
    vue项目打包后css背景图路径不对的问题
    Vue项目图片剪切上传——vue-cropper的使用
    Vue项目使用AES做加密
    VUE滚动条插件——vue-happy-scroll
    自实现jQuery版分页插件
    HTML5中的Web Notification桌面通知
    img标签实现和背景图一样的显示效果——object-fit和object-position
    自实现PC端jQuery版轮播图
    web前端几个小知识点笔记
    限制可编辑div只能输入纯文本
  • 原文地址:https://www.cnblogs.com/lirongyang/p/9550883.html
Copyright © 2011-2022 走看看