python元组、集合详细总结

系列文章目录

python字典总结
详细讲解python列表


一、元组是什么?

  • Python内置的数据结构之一,是一个不可变序列

  • 不变可变序:字符串、元组
    不变可变序列:没有增、删,改的操作

  • 可变序列:列表、字典
    可变序列:可以对序列执行增、删、改操作,对象地址不发生更改

  • 为什么要将元组设计成不可变序列
    在多任务环境下,同时操作对象时不需要加锁
    因此,在程序中尽量使用不可变序列
    注意事项: 元组中存储的是对象的引用
    a)如果元组中对象本身不可对象,则不能再引用其它对象
    b)如果元组中的对象是可变对象,则可变对象的引用不允许改变,但数据可以改变

二、元组的创建方式

  • 直接小括号
t=( 'Python;'hello',90 )
  • 使用内置函数tuple()
t=tuple( ('Python','hello’, 90) )
  • 只包含一个元组的元素需要使用逗号和小括号,否则将会认为是本身的数据类型,逗号不能省略
t=( 10)

三、元组的遍历

元组是可迭代对象,所以可以使用for…in进行遍历

t=tuple(('python','hello',9))
for item in t:
	print(item)

四、集合是什么

  • Python语言提供的内置数据结构
  • 与列表、字典—样都属于可变类型的序列
  • 集合是没有value的字典,集合中的元素不允许重复,元素无序

五、集合的创建

  • 直接{}
s={
    
     'Python', 'hello' ,90}
  • 使用内置函数set()
    s=set(range(6))

六、集合的增、删、改、查操作

集合元素的判断操作

  • in或not in

集合元素的新增操作

  • 调用add()方法,一次添中一个元素
  • 调用update()方法至少添中一个元素

集合元素的删除操作

  • 调用remove()方法,一次删除一个指定元素,如果指定的元素不存在抛出KeyError
  • 调用discard()方法,一次删除一个指定元素,如果指定的元素不存在不抛霁帇·
  • 调用pop()方法,一次只删除一个任意元素
  • 调用clear()方法,清空集合

七、集合间的关系

  • 两个集合是否相等
    可以使用运算符==或!=进行判断

  • 一个集合是否是另一个集合的子集
    可以调用方法issubset进行判断
    B是A的子集

  • 一个集合是否是另一个集合的超集
    可以调用方法issuperset进行判断
    A是B的超集

  • 两个集合是否没有交集
    可以调用方法isdisjoint进行判断

集合的数学操作

  • 交集
    intersection()与 & 等价,交集操作
  • 并集
    union() 与 | 是等价,并集操作
  • 差集
    difference() 与 - 是等价,
  • 对称差集

集合的生成式

用于生成集合的公式,元组是不可变序列,没有生成式

{
    
     i for i inrange(1,10)}
  • 将{}修改为[]就是列表生成式
  • 没有元组生成式

总结

在这里插入图片描述

list可用方法:求长度len() 添加元素append() 删除元素pop()
不可变元素就没有append(),insert()这些方法。因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
dict就相当于其他语言中的map
和list比较,dict有以下几个特点:

  • 查找和插入的速度极快,不会随着key的增加而变慢;
  • 需要占用大量的内存,内存浪费多。
  • 正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象
  • 要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key

猜你喜欢

转载自blog.csdn.net/weixin_43821215/article/details/124498502