Python脚本语言开发

字典与集合

字典基础

可变不可变

  1. 什么是字典(dict)?

    1. 字典是包含若干“键-值对”元素的无序可变对象,字典的每一个元素(项)由两部分组成,分别是用冒号分隔开的“键”和“值”。
    2. 在形式上,字典的所有元素放在一对花括号0内,并以逗号分隔,如:
      1. aDict = {‘name’:’张三’, ‘post’: “班长’,’dorm’: ‘1203’}
    3. 字典中的“键”必须是Python中的不可变类型数据,“值”没有这个限制。
    4. 字典中的“”不允许重复(唯一),“”可以重复。
  2. 字典与列表对比

    1. 相同点
      1. 都是可变数据类型
      2. 袁术分隔符是逗号
      3. 都支持嵌套
      4. 都可以用for语句遍历元素
      5. 都致辞len()函数
      6. 都支持成员运算符in和not in
      7. .clear()、.copy()、copy.copy()和copy.deepcopy()
      8. ……..
    2. 不同点
      1. 字典是无序的,列表是有序的:字典的元素是不排序的,即“键-值对”的顺序不重要;而列表的元素顺序很重要。
      2. 字典不能像列表那样进行切片等操作
      3. 访问列表不存在的序号,会导致IndexError错误;访问字典不存在的键名,会导致KeyError错误。
  3. 如何创建字典?

    1. 除采用“”及“键:值”对的形式直接创建字典外,还可以使用内置函数dict()以不同形式创建字典:

      1
      dict() # 创建空字典
  4. 如何使用字典?

    1. 访问字典中的元素

      1. 根据“键”访问“值”∶
        根据提供的“键”作为索引(下标),可以访问对应的“值”如果字典中不存在这个“键”,会抛出异常。

    2. 修改或添加元素

      1. 若该“键”存在,则表示修改该“键"对应的值;
      2. 若该“键”不存在,则表示添加一个新的“键值对”。
      
    3. 删除元素

      1. 可以使用del语句删除字典中指定的元素或者整个字典
      
    4. 其他操作

      1. 成员运算:in和not in
      

字典方法

  1. get()与setdefault()方法

    1. dict.get(key,default=None,/)返回指定”键”对应的“值”,并且允许设置该键不存在时返回的默认值。

    2. dict.setdefault(key,default=None,/)的第一个参数是要检查的键,第二个是如果该键不存在时指定的值。若指定键不存在,则以该键和第二个参数值添加键值对;若键存在,则返回该键的值。