美文网首页
python元组、字典和集合

python元组、字典和集合

作者: 山高路陡 | 来源:发表于2020-07-21 19:25 被阅读0次

python元组

  • 不可变序列,元组内元素值不能更改
  • 创建元组
    • 空元组与多元素元组 my_tuple = ()或my_tuple=(1,2,3)
    • 一个元素的元组 my_tuple=(1,)
  • 元组无法删除元素,更改元素和增加元素
  • 元组只能够查询元素
    • 使用for...in...便利
  • 元组解包,将序列中的元素赋值给其他变量
    • a,b,c = (1,2,3)-->a=1,b=2,c=3
    • a,b,*_ = (1,1,2,4,5,6)-->a=1,b=1,_=[2,4,5,6]
    • a,*b,c=(1,2,3,4,5)-->a=1,b=[2,3,4],c=5
    • 序列解包类似

python字典

  • 字典数据结构,键与值映射,
  • 与列表的作用类似,用来储存对象的容器
  • 列表的储存数据的性能非常好,但是查询数据性能很差,字典正好相反
  • 在字典中每一个元素都有唯一的一个名字,通过名字可以快速查询到指定的元素
  • 字典的结构是键值对(key-value),每一个键值对称之为一项(item)
  • 语法 {key:value,key1:value1}
    • d = {}
  • 字典只能是不可变对象,但值可以是任意类型
  • 当存在两个相同的键时,后一个键值对覆盖前一个
  • 创建方法二
    • d = dict(key=value,key1=value1)
  • 创建方法三
    • 双值序列,子序列中有两个元素
    • d = dict([(key, value), (key1, value1)])
  • len() 获取字典中键值对的个数 item的个数
  • in or not in 检查字典中是否包含指定的键
  • get(key[,default])方法
    • get方法传递key值,当字典中存在这个key时获取该键的值
    • 当key的键不在字典中时,返回一个None值
    • 在key不存在时也可以传递一个值,该值与key形成键值对保存在字典中
  • 修改字典
    • d[key] = value_1
    • 当key存在时,修改该key所对应的值
    • 当key不存在时,为字典新添加一个键值对
  • setdefault()向字典中添加键值对
    • d.setdefault(key[,default])
    • 如果key存在,则返回key值,不会对字典有任何的影响,并返回key在字典中的值
    • 如果key不存在,向字典中添加新的键值对,并将值返回
  • update(),将其他字典中的key-value添加到字典中
    • d.update(d1)
    • 将d1中的key-value添加到d中
  • popitem() 随机删除一个键值对,一般会删除最后一个
    • 返回将要删除的键值对,返回的是一个元组(key,value)
  • del d[key] 删除键位key的键值对
  • pop(key[,default])
    • 当key存在时,删除键位key的键值对,并返回key对应的值
    • 当key不存在时,返回指定的默认值
  • clear() 清空字典
    • d.clear()
  • 浅复制
    • copy()
    • 用于对字典浅复制
    • 赋值代表着两个变量指向同一个变量地址
    • 使用copy(),会重新开辟内存,将变量指向新的内存地址,两个内存地址中的值相等,但是更改一个变量的值不会影响另一个变量的值
    • 当字典中还有子字典时,copy()无法对子字典进行重新开辟内存储存,字典中的子字典会指向同一个内存地址
    • 浅复制指会复制字典本身,如果字典中还有字典是不会被复制的
  • 字典遍历
    • for k in d.keys(): d.keys()返回一个保存所有key的列表
    • for v in d.values(): d.values() 返回包含所有value的列表
    • for k,v in d.items(): 返回键和值组成元组的列表[(key,value),(key1,value1)]

python集合

  • 与列表相似
  • 不同点
    • 集合中只能储存不可变对象
    • 集合中储存的对象是无序的
    • 集合中不能出现重复的元素
  • 创建集合
    • s = {1,2,3}
    • s = set() # 空集合
    • 在set()中传入序列生成集合
    • 在set()中传入字典时,只会包含字典的key
  • in or not in
  • len()
  • s.add()向集合中添加元素
  • s.update(s1) 将一个集合s2中的元素添加到另一个集合s中
  • s.pop() 随机删除并返回该值
  • s.remove() 删除集合中指定的元素
  • s.clear() 清楚集合中的元素
  • 集合的运算
    • 交集
      • s = s1&s2
    • 并集
      • s = s1|s2
    • 差集
      • s = s1-s2
    • 异或集运算 # 集合中不相交的部分
      • s = s1 ^ s2
  • 集合的关系, s1时s2的
    • 子集
      • s1<=s2
    • 真子集
      • s1<s2
    • 超集
      • s1>=s2
    • 真超集
      • s1>s2

python可变对象

  • 每个对象保存了三个数据

    • id(标识)
    • type(类型)
    • value(值)
  • 可变对象时通过变量去修改对象里面的值

相关文章

网友评论

      本文标题:python元组、字典和集合

      本文链接:https://www.haomeiwen.com/subject/axpwkktx.html