首页 > 其他 > 详细

第六天知识总结

时间:2020-07-19 14:52:07      阅读:51      评论:0      收藏:0      [点我收藏+]
集合:可变的数据类型,它里面的元素必须是不可变的数据类型,无序,不重复
# 创建方法:1.set1 = set({1,2,3})    2.set1 = {}
# 增  随机增加
set1 = {jack,tom,join,jin}
set1.add()
print(set1)
set1.update(abc)
print(set1)

#
set1 = {jack,tom,join,jin}
print(set1.pop())  # 随机删除,有返回值
print(set1)
set1.remove(jack)    # 按元素去删
print(set1)
set1.clear()           # 清空集合
print(set1)
del set1           # 删除整个集合
print(set1)

#
set1 = {jack,tom,join,jin}
for i in set1:
    print(i)

# 没有改,但可以求交集,并集等
set2 ={1,2,3,4,6}
set3 ={1,2,7,8,9}
print(set2 & set3)           # (交集)或者print(set2.intersection(set3))
print(set2 | set3)           # (并集)或者print(set2.union(set3))
print(set2 ^ set3)           # (反交集)或者print(set2.symmetric_difference(set3))
print(set2 - set3)           # (差集)或者print(set2.difference(set3)),意思是set2里面独有的
print(set2 < set3)           # (子集)或者print(set2.issubset(set3)),意思是set3里面包含了set2
print(set2 > set3)           # (超集)或者print(set2.issuperset(set3))

# 去重
例子:去除列表中重复的数字li=[1,2,2,3,4,5,5,77,77,9]
li = [1,2,2,3,4,5,5,77,77,9]
set1 = set(li)
li = list(set1)
print(li)

# 变成不可变数据类型,也是无序
set4 = frozenset(jack)
print(set4,type(set4))
深浅copy
# 1.浅拷贝只是在内存中重新创建了开辟了一个空间存放一个新列表,但是新列表中的元素与原列表中的元素是公用的。
# 同一代码块下:
l1 = [1, ‘天空, True, (1,2,3), [22,33]]
l2 = l1.copy()
print(id(l1),id(l2))  # 2713214468360 2713214524680
print(id(l1[-2]),id(l2[-2]))  # 2547618888008 2547618888008
print(id(l1[-1]),id(l2[-1]))  # 2547620322952 2547620322952
# 不同代码块下(终端操作):
l1 = [1, 天空, True, (1, 2, 3), [22, 33]]
l2 = l1.copy()
print(id(l1), id(l2))                 # 1477183162120 1477183162696
print(id(l1[-2]), id(l2[-2]))         # 1477181814032 1477181814032
print(id(l1[-1]), id(l2[-1]))         # 1477183162504 1477183162504

# 2.深拷贝deepcopy。
# 同一代码块下
import copy
l1 = [1, alex, True, (1,2,3), [22,33]]
l2 = copy.deepcopy(l1)
print(id(l1), id(l2))  # 2788324482440 2788324483016
print(id(l1[0]),id(l2[0]))  # 1470562768 1470562768
print(id(l1[-1]),id(l2[-1]))  # 2788324482632 2788324482696
print(id(l1[-2]),id(l2[-2]))  # 2788323047752 2788323047752
# 不同代码块下(终端操作)
import copy
l1 = [1, 天空, True, (1, 2, 3), [22, 33]]
l2 = copy.deepcopy(l1)
print(id(l1), id(l2))          # 1477183162824 1477183162632
print(id(0), id(0))            # 1470562736 1470562736
print(id(-2), id(-2))          # 1470562672 1470562672
print(id(l1[-1]), id(l2[-1]))  # 1477183162120 1477183162312
循环删除
# 列表
li = [1,2,3,4,5]
lst2 = li.copy()
for w in lst2:
    li.remove(w)
print(li)
# 字典
dic = {name:jack,age:18,hobby:game}
lst = []
for w in dic.keys():
    lst.append(w)
for w in lst:
    dic.pop(w)
print(dic)

删除含有K的键值对
# 方法1
dic1 = {k1:v1,k2:v2,k3:v3,a1:v4}
dic1_1 = {}
for i in dic1.keys():
    if k not in i:
        dic1_1.setdefault(i,dic1[i])
dic1 = dic1_1
print(dic1)
# 方法2
dic1 = {k1:v1,k2:v2,k3:v3,a1:v4}
li = []
for i in dic1:
    if k in i:
        li.append(i)
for i in li:
    del dic1[i]
print(dic1)


# 转化为bool值
# 除了0,‘‘,[],{},(),set(),里面为空就是F,其余都是T

 

 
 
 

第六天知识总结

原文:https://www.cnblogs.com/world-sum/p/13338927.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!