python基础篇 07set集合 深浅拷贝

时间:2021-12-19 19:49:37

本节主要内容:
1. 基础数据类型补充
2. set集合
3. 深浅拷⻉

" ".join方法

python基础篇 07set集合 深浅拷贝

循环删除列表中的内容:

python基础篇 07set集合 深浅拷贝   错误的 

原因:在for循环中,循环到第一个,然后删除,删除之后第二个元素向前挪一位,循环指针向后移一位,再删除,结果会导致22,44没删除掉.

python基础篇 07set集合 深浅拷贝python基础篇 07set集合 深浅拷贝

只有这样是可以的:

 python基础篇 07set集合 深浅拷贝

python基础篇 07set集合 深浅拷贝

注意: 由于删除元素会导致元素索引发生变化,所以删除元素是,尽量不要在原来的地方删除,尽量创建一个新的 然后去批量删除

 

dict中的fronkey()可以帮我们通过list  创建一个dict

 前⾯列表中的每⼀都会作为key, ⾯列表中的内容作为value. dict
. 注意:
python基础篇 07set集合 深浅拷贝

python基础篇 07set集合 深浅拷贝

由于代码Jay和jj用的是同一个列表,所以要改都改

 

主意:dict中的元素在迭代的过程中也是不允许删除的,如果要删除,也要创建新的,同上列表删除方法.

 类型转换:

tuple-->>list     list(tuple)

 list-->>tuple    tuple(list)

 列表--->>>字符串     "".join()方法

字符串--->>>列表       split切割

 0, " " , None, [] ,{} ,() ,set()   ----->>>> 可以转为False

 二,  set集合

set中的元素是不重复.序的.元素必须是可hash(int, str, tuple,bool)

 注意: set集合中的元素必须是可hash, 但是set是不可hash. set是可变的.

 python基础篇 07set集合 深浅拷贝

 

 set集合增删改查:

增加:

    .add()    重复的内容不会被更新

    .update()  迭代更新

 删除:

    .pop()    随机弹出一个

    .remove()    删除指定内容,不存在的则报错    

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

 修改:

     集合没有索引,也没办法定位,所以修改只能先删除  在添加

 查:  for 循环迭代

<<<<<<-----------其他操作------------>>>>>>>

python基础篇 07set集合 深浅拷贝

python基础篇 07set集合 深浅拷贝

python基础篇 07set集合 深浅拷贝

三  深浅拷贝:

浅拷贝数据不变    

深拷贝数据改变

 

小弟才疏学浅,感悟不了太多,自己感觉深浅拷贝是个BUG,有懂的朋友可以一起探讨一下.