1、str.join() 2、fromkeys() 3、深浅拷贝 4、set()
1、str.join() 2、fromkeys() 3、深浅拷贝 4、set()
- 1. 补充基础数据类型的相关知识点
- 1. str. join() 把列表变成字符串
- 2. 列表不能再循环的时候删除. 因为索引会跟着改变
- 3. 字典也不能直接循环删除.
- 把要删除的内容记录在列表中. 循环列表. 删除原列表, 字典中的数据
- 4. fromkeys() 不会对原来的字典产生影响. 产生新字典(神坑, 考试)
- 5. set集合. 不重复, 无序.
- 6. 想转换成什么.就用什么括起来
- 7. 深浅拷贝
- 1. 直接赋值. 两个变量指向同一个对象.
- 2. 浅拷贝:只拷贝第一层内容. copy()
- 3. 深度拷贝: 对象中的所有内容都会被拷贝一份
- import copy
- copy.deepcopy()
- # # 浅拷贝 copy
- # import copy
- # lst = [“str1”, “str2”, “str3”, “str4”, “str5”]
- # sourcelst = [“str1”, “str2”, “str3”, “str4”, “str5”, lst]
- # copylst = copy.copy(sourcelst)
- # print(sourcelst)
- # print(copylst)
- #
- # sourcelst.append(“sourcestr”)
- # copylst.append(“copystr”)
- # print(sourcelst)
- # print(copylst)
- #
- # sourcelst[0] = “changeSource”
- # print(sourcelst)
- # print(copylst)
- #
- # lst.append(“testAppend”)
- # print(sourcelst)
- # print(copylst)
- #
- # # 深拷贝 deepcopy
- # import copy
- # lst = [“str1”, “str2”, “str3”, “str4”, “str5”]
- # sourcelst = [“str1”, “str2”, “str3”, “str4”, “str5”, lst]
- # deepcopylst = copy.deepcopy(sourcelst)
- # print(sourcelst)
- # print(deepcopylst)
- #
- # sourcelst.append(“sourcestr”)
- # deepcopylst.append(“copystr”)
- # print(sourcelst)
- # print(deepcopylst)
- #
- # sourcelst[0] = “changeSource”
- # print(sourcelst)
- # print(deepcopylst)
- #
- # lst.append(“testAppend”)
- # print(sourcelst)
- # print(deepcopylst)
- # s = “sb”.join(“贱人”)
- # print(s)
- # s = [“周杰伦”, “周润发”, “麻花藤”, “周树人”]
- # lis = []
- # for i in s:
- # if i[0] == “周”:
- # lis.append(i)
- # for j in lis:
- # if j in s:
- # s.remove(j)
- # print(s)
- # s = “abc”
- # s1 = s.join(“非常可乐”)
- # print(s1)
- # s = “_”.join(([“alex”, “wuse”, “taibai”, “ritian”]))
- # print(s)
- # s = “sb”.join([“王者荣耀”, “LOL”, “跑跑卡丁车”])
- # print(s)
- # list dic 在循环的时候不能删, 因为会改变索引
- # lst = [“我不是药神”, “西游记”, “西红柿首富”, “天龙八部”]
- # del_lst = []
- # for i in lst:
- # del_lst.append(i) # 记录下来要删除的内容
- # for j in del_lst:
- # lst.remove(j)
- # print(lst)
- # lst = [“周杰伦”, “周润发”, “周星星”, “马化腾”, “周树人”]
- # # 删除掉姓周的人的信息
- # del_lst = []
- # for el in lst:
- # if el.startswith(“周”):
- # del_lst.append(el)
- # for el in del_lst:
- # lst.remove(el)
- # print(lst)
- # dic = {“a”: “123”, “b”: “456”}
- # for k in dic:
- # dic.setdefault(“c”, “123”) # 错误的
- # a = dict.fromkeys([“jj”, “jay”, “taibai”, “sb”]) # 静态方法
- # print(a)
- # dic = {“a”: “123”}
- # s = dic.fromkeys(“王健林”, “思聪”) # 返回给你一个新字典
- # print(s)
- # s = set() # 空集合
- # dic = dict()
- # s = str()
- # i = int()
- # lst = list()
- # print(i)
- # s = {“王者荣耀”, “英雄联盟”, “王者荣耀”, 123, True, True} # 集合中都是不一样的元素,输入以后会合并相同的元素
- # print(s)
- # s = {123, {1, 2, 3}} # 不合法
- # print(s)
- # lst = [“张强”, “李强”, “王磊”, “刘伟”, “张伟”, “张伟”, “刘洋”, “刘洋”]
- # s = set(lst) # 去重复
- # print(s)
- # 变回来
- # lst = list(s)
- # print(lst)
- # 冻结了的set集合,可哈希的,不可变
- # s = frozenset([1, 3, 6, 6, 9, 8]) # 可以去重复, 也是set集合
- # print(s)
- # ss = {“a”, s}
- # print(ss)