python3-字典、集合及占位符

本文详细介绍了Python中的字典和集合的常用操作,包括定义、类型转换、读取、修改、删除、循环遍历等。同时,展示了如何利用字典进行数据操作和集合进行集合运算,如交集、并集、差集和对称差集。此外,还讲解了占位符在代码中的作用和用法。
摘要由CSDN通过智能技术生成

系列文章目录

一、字典(dict)常用操作

  • 定义:

    字典在 python 3.6版本之前是无序的,3.6及之后版本是有序的,插入时的顺序就是保存顺序。字典的每一个元素由两部分构成,形如 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:
    	# 什么都不写会报错
    

下一篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花_城

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值