系列文章目录

一、字典(dict)常用操作

  • 定义:

    字典是无序的,其元素由两部分构成,形如 key: value,被称为键值对

    冒号前面的是键,必须使用不可变类型,且必须唯一;冒号后面的是值,没有类型的限制。

    d = {
         'name': 'hugh', 'age': 17}  # 使用花括号,元素内部用冒号隔开,元素之间用逗号隔开
    
  • 类型转换:

    info = [['name', 'hugh'], ('age', 18), ['gender', 'male']]  # 必须是两个值一组的形式
    d = dict(info)
    print(d)  # 打印:{'name': 'hugh', 'age': 18, 'gender': 'male'}
    
  • 读取单个值:

    d = {
         'name': 'hugh', 'age': 17} 
    print(d['age'])  # 打印:17
    
  • 读取所有值-values()

    d = {
         'name': 'hugh', 'age': 17} 
    l = list(d.values())  # 需要转换类型
    print(l)  # 打印:['hugh', 17]
    
  • 读取所有的键-keys():

    d = {
         'name': 'hugh', 'age': 17} 
    l = list(d.keys())  # 需要转换类型
    print(l)  # 打印:['name', 'age']
    
  • 读取键值对-items()

    d = {
         'name': 'hugh', 'age': 17} 
    l = list(d.items())  # 需要转换类型
    print(l)  # 打印:[('name', 'hugh'), ('age', 17)]
    
  • 修改:

    d = {
         'name': 'hugh', 'age': 17} 
    d['age'] = 18  # key已经存在,则修改
    print(d)  # 打印:{'name': 'hugh', 'age': 18}
    
    d['gender'] = 'male'  # key不存在,则追加新的键值对
    print(d)  # 打印:{'name': 'hugh', 'age': 18, 'gender': 'male'}
    
    
  • 统计长度-len():返回键值对的数量。

  • 删除-pop():括号内写要删除元素的key,并会返回被删除元素的value。

  • 随机删除-popitem():随机删除一个元素并返回一个元组,元组包含的是被删除元素的 key和value。

  • 清空字典-clear():清空字典内的元素,不删除字典。没有返回值。

  • 更新字典-update():

    d = {
         'name': 'hugh', 'age': 17} 
    d.update({
         'name':'tom'})  # 存在则更新,不存在则追加
    print(d)  # 打印:{'name': 'tom', 'age': 17}
    
  • 按照key取值-get():

    d['age']的方式不同,在键不存在的情况下,方括号的方式会报错;而get不会报错,会返回None

    d = {
         'name': 'hugh', 'age': 17} 
    # print(d['gender']) 会直接报错
    print(d.get('gender'))  # 打印:None
    
  • 给不存在的key设置默认值-setdefault():

    d = {
         'name': 'hugh', 'age': 17} 
    d.setdefault('name', 'tom')  # key存在,不做任何操作,只返回key对应的已经存在的value
    print(d)  # 打印:{'name': 'hugh', 'age': 17}
    
    d.setdefault('gender', 'male')   # key不存在,会追加,然后返回key对应的value
    print(d)  # 打印:{'name': 'hugh', 'age': 17, 'gender': 'male'}
    
  • 循环遍历

二、集合(set)常用操作

  • 定义:

    集合内的元素不会重复,重复的元素会被自动清除,而且必须是不可变类型

    集合常被用来对元素去重,它不适合单个元素的操作,而适合集合间的运算。

    集合内的元素是无序的。

    s = {
         1, 2, 1, 3}  # 还是使用花括号,但元素不是键值对
    print(s)  # 打印:{1, 2, 3};重复的1被去除了
    
  • 类型转换:

    s = set('aabbccdd')  # 单个字符会被看作一个元素
    print(s)  # 打印:{'a', 'd', 'c', 'b'};集合无序
    
  • 关系运算:

    • 交:

      使用 & 运算符,获取两个集合共有的元素

      s1 = {
             1, 2, 3, 4}
      s2 = {
             3, 4, 5, 6}
      s1 & s2  # 返回:{3, 4}
      
    • 并:

      使用 | 运算符,获取两个集合所有的元素

      s1 = {
             1, 2, 3, 4}
      s2 = {
             3, 4, 5, 6}
      s1 | s2  # 返回:{1, 2, 3, 4, 5, 6}
      
    • 差:

      使用 - 运算符,获取s1独有的元素,即从s1的元素中去除s2也包含的元素。要注意先后顺序。

      s1 = {
             1, 2, 3, 4}
      s2 = {
             3, 4, 5, 6}
      s1 - s2  # 返回:{1, 2}
      
    • 对称差:

      使用 ^ 运算符,从两个集合中去除共同的元素,再将剩余元素返回。

      s1 = {
             1, 2, 3, 4}
      s2 = {
             3, 4, 5, 6}
      s1 ^ s2  # 返回:{1, 2, 5, 6}
      
  • 比较运算:

    不再看元素的关系,而是看两个集合的包含关系。s1包含s2,则 s1 > s2 。

  • 统计长度-len()

  • 更新集合-update():括号内写入新的集合

  • 删除元素-discard():括号内写要删除的元素,元素不存在则什么都不做

  • 删除元素-pop()

  • 添加元素-add()

  • 循环遍历

三、占位符

  • 含义:

    仅仅是占住一个固定的位置,而不做任何操作,等着你之后往该位置添加内容。

  • 语法:

    使用 pass 或 … ,

    if score <= 59:
        pass  # 不会做任何操作,等你确定要写什么内容的时候,就将它删除,再写入内容
    	...  # 等价于 pass
    else:
    	# 什么都不写会报错
    

下一篇