• Python语言程序设计 学习笔记(三)


    第十四章 元组、集合和字典

    整章内容:

    • [x] 创建元组。
    • [x] 使用元组作为固定列表来防止添加、删除或替换元素。
    • [x] 将常见的序列运算应用于元组。
    • [x] 创建集合。
    • [x] 使用addremove方法对集合进行元素的添加和删除。
    • [x] 使用lenminmaxsum函数对集合进行操作。
    • [x] 使用innot in运算符判断一个元素是否在一个集合中。
    • [x] 使用for循环遍历集合中的元素。
    • [x] 使用issubsetissuperset方法检测一个集合是否是另一个集合的子集或父集。
    • [x] 使用==运算符检测两个集合是否具有相同的内容。
    • [x] 使用运算符|&-^实现集合求并、交、差、和对称差。
    • [x] 比较集合和列表的性能区别。
    • [x] 使用集合开发一个统计Python源文件中关键字个数的程序。
    • [x] 创建字典。
    • [x] 使用语法dictionaryName[key]对字典添加、修改和获取元素。
    • [x] 使用del关键字删除字典中的条目。
    • [x] 使用for循环遍历字典中的关键字。
    • [x] 使用len函数获取字典的大小。
    • [x] 使用innot in运算符检测一个关键字是否在字典中。
    • [x] 使用==运算符检测两个字典是否有相同的内容。
    • [x] 在字典上使用keysvaluesitemscleangetpoppopitem方法。
    • [x] 使用字典开发应用程序。

    新内容:

    1. 元组中的元素是固定的,一旦一个元组被创建,就无法对元组中的元素进行添加、删除、替换或重新排序。

      t1 = ()
      t2 = (1, 2, 3)
      t3 = tuple([2 * x for x in range(1, 5)])
      t4 = tuple("abac")
      
    2. 集合中的元素不重复且不是按任何特定顺序放置的。

      s1 = set()
      s2 = {1, 3, 5}
      s3 = set((1, 3, 5))
      s4 = set([x * 2 for x in range(1, 10)])
      
    3. add(e):对集合添加元素。

      remove(e):对集合删除元素。若e不存在,则抛出一个KeyError异常。

    4. 字典是一个存储键值对集合的容器对象,通过使用关键字实现快速获取、删除和更新值。

      students = {"111" : "one", "222" : "two"}
      students["333"] = "three"
      del students["333"]
      

    其他内容:

    1. 一个元组包含了一个固定的元素列表,但元组里的个体元素可能是易变的。如下所示,尽管不能添加、删除或替换元组中的圆对象,但可以改变一个圆的半径,因为一个圆对象是可变的。如果一个元组包含不可变的对象,那么这个元组被称为不可变的,如数字元组或字符串元组。

      from CircleFromGeometricObject import Circle
      circles = (Circle(2), Circle(4), Circle(7))
      circles[0].setRadius(30)
      circles[0].getRadius()
      
    2. Python使用花括号创建集合和字典,语法{}被用来表示一个空字典,为了创建一个空集合,使用set()

    3. 不能使用比较运算符对字典进行比较,因为字典中的条目是没有顺序的。

    第十五章 递归

    整章内容:

    • [x] 解释什么是递归函数并描述使用递归的好处。
    • [x] 为递归数学函数开发递归程序。
    • [x] 解释在调用栈中如何处理递归函数的调用。
    • [x] 使用递归解决问题。
    • [x] 使用辅助函数设计一个递归函数。
    • [x] 使用递归实现选择排序。
    • [x] 使用递归实现二分查找。
    • [x] 使用递归获取一个目录的大小。
    • [x] 使用递归解决汉诺塔问题。
    • [x] 使用递归绘制分形。
    • [x] 使用递归解决八皇后问题。
    • [x] 了解递归和迭代之间的关联与区别。
    • [x] 了解尾递归函数并解释为什么需要它。

    新内容:

    1. os模块中的几个函数:

      • os.path.isfile(filename):判断是不是一个文件名。

      • os.path.getsize(filename):返回文件的大小。

      • os.listdir(directory):返回一个子目录列表以及目录下的文件。

    其他内容:

    1. 如果从递归调用返回时没有待处理的操作要完成,那么这个递归的函数就称为尾递归,尾递归是高效的。
  • 相关阅读:
    [导入]基于Web的B/S结构实时监控系统[转]
    [导入]IE5.0与6.0的区别
    [导入]正确配置和维护Apache WEB Server 安全性
    [导入]又是一个烦人的问题
    [导入]今天就写了这一个语句!
    DNS解析代码copy
    使用uPnP在路由器上映射端口
    查看数据库内存占用
    yield与sleep
    wCF REST
  • 原文地址:https://www.cnblogs.com/songjy11611/p/13681161.html
Copyright © 2020-2023  润新知