0607课后总结:set集合和深浅拷贝
一.set集合
1.格式: xx = {'key','key'} #@ 就是存储的key, @不会重复, @ 无序, @其元素必须是可哈希的 @集合本身是不可哈希的
二.运用:
1.去重复: a = list(x)
2.添加元素:
1) add : a.add('key') 如对象是空集合 , 则空集合的格式应为 set = ({})
2)update: a.update('key') 迭代更新,将对象拆开在加入集合,适用于列表字符串.
3删除元素:
1)x = a.pop() #随机删除元素
2) a.clear() #清空集合
三.集合的运用
1.交集: & 或intersection
print(a & b)
print(a.intersection(b))
2.并集 : | 或union
print(s1 | s2)
print(s1.union(s2))
3.差集: - 或 difference
print(s2 - s1)
print(s2.difference(s1))
四.深浅拷贝
1.浅拷贝:复制, 克隆,只会拷贝第一层内容. 第二层的内容不会拷贝
1). lst2 = lst1.copy()
2).lst2 = lst1[:]
2.深拷贝:拷贝所有内容. 包括里层的所有内容
导入copy模块
import copy
lst2 = copy.deepcopy(lst1) # 深度拷贝
---------------------------------------- 分界线 ------------------------ 分界线 -------------------------------- 分界线 --------------
结:有遗漏知识点补充
1. for循环的问题.
if
elif
..
else :条件判断:返回 True 则通过(三选一)
while 条件:
循环体
else:
代码块 :条件不足时结束循环执行else 或直接结束循环
for ....in... :
else.. : 循环结束后执行else
2. str操作
join() 把列表变成字符串
split() 把字符串转换成列表
3. list的删除问题(绕)
列表在循环的时候如果执行了删除操作. 索引和长度会有变化. 这种删除是不安全.
先把要删除的内容放在一个新列表中. 然后循环这个新列表. 删除老列表.
例子:
lst = ['我','要','炸','学','校']
for i in range(0, len(lst)):
lst.pop()
print(lst)
# 把要删除的东西保存在一个新列表中
new_lst = []
for el in lst:
new_lst.append(el)
# 循环新列表. 删除老列表
for e in new_lst:
print(lst)
4. 字典在迭代中的删除问题:
dict在循环过程中是不允许删除的. 把要删除的键放在列表中. 循环列表删除字典

浙公网安备 33010602011771号