码迷,mamicode.com
首页 > 其他好文 > 详细

202003012 学习总结

时间:2020-03-12 23:47:46      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:info   类型转换   运算   好友   pen   tom   需要   ima   并集   

 数据基本类型: 集合

1 作用:和list dict 一样存储多个值,不是用来去取单个值去应用,而是去将集合当成一个整体去操作,做集合与集合直接的关系运算。一个集合体力去做去重的工作。

 

2 定义:在{}内用逗号分割开多个元素,多个元素必须满足三个条件

             1,集合内的元素必须为不可变的类型

              2. 集合内的元素无序

             3,集合内的元素没有重复

,s={1,2}  

由于字典与集合的 都用花括弧 所以 当 s=s{} 默认定义是一个空的字典  

当定义空集合的时候 s=set()

3 类型转换 

# res = set(‘hellolllllll‘)
# print(res)
#print(set([1,1,11,1,11,1,1]))
转化为集合后可以直接去重
被转化的类型中不可以有可变类型的数据类型存在 但字典可以 因为字典中的key是不可变的类型,转化后是把字典中的key给拿出来了

技术图片

 

 

 技术图片

 

 

 

转出来的集合还是无序的,如上图!

4 内置方法的使用
关系运算:&
print(friends1 & friends2) 求交集 
print(friends1.intersection(friends2))、内置方法
print(friends1 | friends2)  求并集
print(friends1.union(friends2))  内置方法
print(friends1 - friends2)  求差集
print(friends2.difference(friends1)) 内置方法
 对称差集: 求两个用户独有的好友们(即去掉共有的好友)
print(friends2 ^ friends1)
print(friends1.symmetric_difference(friends2))
4.5 父子集:包含的关系
# s1={1,2,3}
# s2={1,2,4}
# 不存在包含关系,下面比较均为False
# print(s1 > s2)
# print(s1 < s2)

# s1={1,2,3}
# s2={1,2}
# print(s1 > s2) # 当s1大于或等于s2时,才能说是s1是s2他爹
# print(s1.issuperset(s2))
# print(s2.issubset(s1)) # s2 < s2 =>True
s1={1,2,3}
# s2={1,2,3}
# print(s1 == s2) # s1与s2互为父子
# print(s1.issuperset(s2))
# print(s2.issuperset(s1))


# =========================去重=========================
# 1、只能针对不可变类型去重
# print(set([1,1,1,1,2]))

# 2、无法保证原来的顺序
# l=[1,‘a‘,‘b‘,‘z‘,1,1,1,2]
# l=list(set(l))
# print(l)


l=[
{‘name‘:‘lili‘,‘age‘:18,‘sex‘:‘male‘},
{‘name‘:‘jack‘,‘age‘:73,‘sex‘:‘male‘},
{‘name‘:‘tom‘,‘age‘:20,‘sex‘:‘female‘},
{‘name‘:‘lili‘,‘age‘:18,‘sex‘:‘male‘},
{‘name‘:‘lili‘,‘age‘:18,‘sex‘:‘male‘},
]
new_l=[]
for dic in l:
if dic not in new_l:
new_l.append(dic)

# print(new_l)

# 其他操作
‘‘‘
# 1.长度
>>> s={‘a‘,‘b‘,‘c‘}
>>> len(s)
3

# 2.成员运算
>>> ‘c‘ in s
True

# 3.循环
>>> for item in s:
... print(item)
...
c
a
b
‘‘‘

# 其他内置方法
s={1,2,3}
# 需要掌握的内置方法1:discard
# s.discard(4) # 删除元素不存在do nothing
# print(s)
# s.remove(4) # 删除元素不存在则报错


# 需要掌握的内置方法2:update
# s.update({1,3,5})
# print(s)

# 需要掌握的内置方法3:pop
# res=s.pop()
# print(res)

# 需要掌握的内置方法4:add
# s.add(4)
# print(s)



# 其余方法全为了解
res=s.isdisjoint({3,4,5,6}) # 两个集合完全独立、没有共同部分,返回True
print(res)

# 了解
# s.difference_update({3,4,5}) # s=s.difference({3,4,5})
# print(s)


202003012 学习总结

标签:info   类型转换   运算   好友   pen   tom   需要   ima   并集   

原文地址:https://www.cnblogs.com/wppw/p/12483528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!