python学习笔记4

python学习笔记4

集合set{}

  1. 集合是无序的,不支持下标访问;可以修改;不能重复(定义时可以有重复元素,但实际上会自动去重);多种元素类型;支持for循环;空集合:my_set = set()
  2. add()方法:
  • 语法:my_set.add(新元素)
  1. remove()方法:
  • 语法:my_set.remove(要移除的元素)
  1. pop()方法:
  • 语法:element = my_set.pop() 或者 my_set.pop()
  • 和列表不同,这里没有实际参数,所以会随机删除一个元素(所谓随机:如果集合中所有元素均为数字类型–整型或浮点型–,则会删掉所有元素中最小的那个元素;如果元素中有其他比如字符串元素,则会随即删除一个。 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。)
  1. clear()方法:
  • my_set.clear() 清空集合,得到 set()
  1. difference()方法:
  • 语法:set3 = set1.difference(set2)
  • 功能:获得集合1与集合2的差集(集合1中有但是集合2中没有的元素
  • 集合1与集合2的内容不变
  1. difference_update()方法:
  • 语法:set1.difference_update(set2)
  • 功能:对比集合1和2,在集合1内,删除和集合2相同的元素(把集合1变成了差集
  • 集合1被修改,集合2不变
  1. union()方法:
  • 语法:set3 = set1.union(set2)
  • 功能:求集合1和集合2的并集
  • 产生了并集集合3,集合1集合2不变
  1. len():统计集合中元素总数
  2. 集合的遍历只能用for循环

字典dict

  1. 由键值对 {key: value}组成。
  • 定义空字典方法:dict1 = {} 或者 dict2 = dict()
  • 字典不能下标索引,只能通过key值进行索引
  • 字典定义不能有有重复的key值,不然相当于新定义的key中的value覆盖掉原来的value
  • 字典的key与value的类型:除了key不能是字典(dict)类型外,key与value的类型没有限制
  • 嵌套字典访问方式:my_dict[外key][内key]
  1. 新增元素与更新元素
  • 语法:字典[key] = value
  • 如果key原来不存在,则会增加一个新的键值对(元素),如果key原来存在,则会更新元素
  1. 删除元素
  • 语法:my_dict.pop(key) 或者 value = my_dict.pop(key),返回的是删除的key对应的value
  • 字典被修改
  1. clear()方法
  • 语法:my_dict.clear() 清空字典
  1. keys()方法
  • 语法:keys = my_dict.keys()
  • 返回的keys是字典中所有的键值,keys是一个列表
  • 遍历字典:方式一: for key in keys: 方式二:for key in my_dict: 不支持while循环
  1. len()
  • 语法:num = len(my_dict)
  • 获取字典中元素的数量

数据容器对比

列表元组字符串集合字典
元素数量支持多个支持多个支持多个支持多个支持多个
元素类型任意任意仅字符任意key:value(key不能是字典)
下标索引支持支持支持不支持不支持
重复元素支持支持支持不支持不支持
可修改性支持不支持不支持支持支持
数据有序
使用场景可修改、可重复的一批数据记录场景不可修改、可重复的一批数据记录场景一串字符 记录的场景可修改、不可重复的数据记录场景以key检索value的数据记录场景

其他

五类数据容器

  1. 遍历:都支持遍历操作
  • 5类数据容器都支持for循环遍历
  • 列表、元组、字符串支持while循环遍历,集合、字典不支持(无法下标索引)
  1. 都支持len()函数、max()函数、min()函数
  • len():统计元素数量
  • max():统计元素中最大元素(如果都是数字,统计最大数字;如果是字符串,看ASCII码表最大;如果是字典,比较的是key的最大值,返回的也是最大的key)
  • min():统计元素中最小元素(如果都是数字,统计最小数字;如果是字符串,看ASCII码表最小;如果是字典,比较的是key的最小值,返回的也是最小的key)
  1. 类型转换
  • list(容器):将给定容器转换成列表 (字符串中的每个字符取出来当作一个元素;字典中的value抛弃掉,只剩下key当作列表的元素)
  • str(容器):将给定容器转换成字符串(相当于其他形式的数据容器两端直接加双引号,就变成了字符串;字典保留了key和value)
  • tuple(容器):将给定容器转换成元组(字符串中的每个字符取出来当作一个元素;字典中的value抛弃掉,只剩下key当作列表的元素)
  • set(容器):将给定容器转换成集合(会去重;字符串中的每个字符取出来当作一个元素,顺序可能会变;字典中的value抛弃掉,只剩下key当作列表的元素,顺序可能会变)
  1. sorted()函数:
  • 格式:sorted(数据容器, reverse=true) (reverse可省略,省略表示从小到大排序,加上表示从大到小排序)
  • 排序时把数据容器中的元素正向或者反向排序后放到一个列表中,也就是说会得到一个排好序的列表对象;字典是对key进行排序,并且舍弃value
  • 得到一个新的列表,原数据容器不变
  1. min()、 max()、 sorted()中大小的比较
    根据ASCII码表进行比较,如果是字符串,就是从左向右一位一位比较,其中一位大则后面的无需比较。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值