python的一些遗漏用法
一. 补充基础数据类型的相关知识点
1. str. join() 把列表变成字符串
li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"]
s = "_".join(li)
print(s)
s=s.split("_")
print(s)
2. 列表不能再循环的时候删除. 因为索引会跟着改变
3. 字典也不能直接循环删除,把要删除的内容记录在列表中. 循环列表. 删除原列表, 字典中的数据
A
li = [11,22,33,4,45]
for el in range(0,len(li)): 第一种循环删除的方法
li.pop() \用pop()从后往前删除
print(li)
B 第二种循环删除的方法,用另一个列表记着需要删除的东西,然后在删除
li = [11,22,33,4,45]
del_lst=[]
for el in li:
del_lst.append(el)
for el in del_lst:
li.remove(el)
print(li)
4. fromkeys() 不会对原来的字典产生影响. 产生新字典(神坑, 考试)
dict中的fromkey(),可以帮我们通过list来创建一个dict
dic = dict.fromkeys(["jay", "JJ"], ["周杰伦", "麻花藤"])
print(dic)
结果: {'jay': ['周杰伦', '麻花藤'], 'JJ': ['周杰伦', '麻花藤']}
前一列表中的每一项都会作为key, 后面列表中的内容作为value. 生成dict
dic = dict.fromkeys(["jay", "JJ"], ["周杰伦", "麻花藤"])
print(dic)
dic.get("jay").append("胡大")
print(dic)
结果: {'jay': ['周杰伦', '麻花藤', '胡大'], 'JJ': ['周杰伦', '麻花藤', '胡大']}
二.. set集合.
1.set里面的元素是不重复的, 无序的.
2. 里面的元素必须是可hash的(int str tuple bool )
3.set里面不能套set,因为set是不可hash的,是可变的
4.增 add() update()迭代添加
删pop() remove() clear()
set= {"hu","shaung","jun","zui","bang","dh"}
# set.pop() #随机删
set.remove("hu") #删除指定元素
set.clear() #删除全部
print(set)
改 先删后增
查 for循环
三. 深浅拷贝
1. 直接赋值. 两个变量指向同一个对象.
2. 浅拷贝:只拷贝第一层内容. copy()
3. 深度拷贝: 对象中的所有内容都会被拷贝一份
import copy
copy.deepcopy()