Python第七课笔记

set集合,深浅拷⻉贝以及部分知识点补充

一. 基础数据类型补充.

  join() 把列表中的每一项用字符串拼接起来

  split() 相反

  1. 关于删除(重点).

    1. 循环迭代过程中不能删除.

    2. 创建新列表, 把要删除的内容保存在新列表中, 循环新列表, 删除老列表.

    3. 字典在循环的时候可以修改, 但不能新增和删除.

  2.  dict中的fromkey(), 可以帮我们通过list来创建一个dict.

    dict.fromkeys(k, v)

     把key迭代, 和value组合成k:v创建新字典, 所有的key共享同一个value.

扫描二维码关注公众号,回复: 3133508 查看本文章

  3.  类型转换:

    元组 => 列列表 list(tuple).

    列表 => 元组 tuple(list).

    list=>str str.join(list).

    str=>list str.split().

二. set集合.

  集合是无序的, 不重复的数据集合, 它里面的元素是可哈希的(不可变类型), 但是集合本身是不可哈希(所以集合做不了字典的键)的.

   lst = []

  list(set(lst))  # 去重复.

  1. 增加

    s. add()  # 重复的内容不会被添加到set集合中.

    s. update()   # 迭代更新.

  2. 删除

    s. pop()   # 随机弹出一个.

    s. remove()   # 直接删除元素, 如果不存在这个元素. 删除会报错.

    s. clear()   # 清空set集合.需要注意的是set集合如果是空的. 打印出来是set(), 因为要和dict区分.

  3 修改

    set集合中的数据没有索引. 也没有办法去定位一个元素. 所以没有办法进行直接修改. 

    我们可以采用先删除后添加的方式来完成修改操作.

    s. remove()

    s. add()

  4. 查询

    set是一个可迭代对象. 所以可以进行for循环.

  5. 常用操作

    交集, 并集, 差集, 反交集, 子集, 超集.

  set集合本身是可以发生改变的. 是不可hash的. 我们可以使用frozenset来保存数据.

   frozenset是不可变的. 也就是一个可哈希的数据类型.

三. 深浅拷贝

  1. 赋值.  不会产生新对象, 和拷贝没关系.

  2. 浅拷贝.  只会复制自身, 会创建对象.

  3. 深拷贝.  把内部所有的内容都进行拷贝.

猜你喜欢

转载自www.cnblogs.com/Joshuawait/p/9627863.html