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
    

      运行结果:

  • 相关阅读:
    前端使用 node-gyp 构建 Native Addon
    CHANGELOG 的实现
    深入 JavaScript 中的对象以及继承原理
    使用electron进行原生应用的打包(2)---主进程与渲染进程之间的通信
    使用electron进行原生应用的打包
    Babel编译
    HTML布局四剑客-Flex,Grid,Table,Float
    关于vtt 与 srt 字幕 的相互转换
    关于websocket
    关于jQuery中nth-child和nth-of-type的详解
  • 原文地址:https://www.cnblogs.com/lirongyang/p/9550883.html
Copyright © 2011-2022 走看看