本节主要内容:
1. 基础数据类型补充
2. set集合
3. 深浅拷⻉
" ".join方法
循环删除列表中的内容:
错误的
原因:在for循环中,循环到第一个,然后删除,删除之后第二个元素向前挪一位,循环指针向后移一位,再删除,结果会导致22,44没删除掉.
只有这样才是可以的:
注意: 由于删除元素会导致元素索引发生变化,所以删除元素是,尽量不要在原来的地方删除,尽量创建一个新的 然后去批量删除
dict中的fronkey()可以帮我们通过list 创建一个dict
前⾯列表中的每⼀项都会作为key, 后⾯列表中的内容作为value. ⽣成dict
好了. 注意:
由于代码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是可变的.
set集合增删改查:
增加:
.add() 重复的内容不会被更新
.update() 迭代更新
删除:
.pop() 随机弹出一个
.remove() 删除指定内容,不存在的则报错
.clear() 清空set集合.需要注意的是set集合如果是空的. 打印出来是set() 因为要和dict区分的.
修改:
集合没有索引,也没办法定位,所以修改只能先删除 在添加
查: for 循环迭代
<<<<<<-----------其他操作------------>>>>>>>
三 深浅拷贝:
浅拷贝数据不变
深拷贝数据改变
小弟才疏学浅,感悟不了太多,自己感觉深浅拷贝是个BUG,有懂的朋友可以一起探讨一下.