如何在局域网上做网站,网站推广seo优化,哈尔滨市建设工程交易中心网站,班级建设怎样建立班级网站1 作用 
Python中的集合#xff08;Set#xff09;是一个无序的、不包含重复元素的容器。它主要用于去重、成员测试、以及执行数学上的集合运算#xff08;如并集、交集、差集和对称差集#xff09;等操作。集合的内部实现通常基于哈希表#xff0c;这提供了快速的成员测试…1 作用 
Python中的集合Set是一个无序的、不包含重复元素的容器。它主要用于去重、成员测试、以及执行数学上的集合运算如并集、交集、差集和对称差集等操作。集合的内部实现通常基于哈希表这提供了快速的成员测试能力。集合的这些特性使其成为处理无需排序且不包含重复项的数据时的理想选择。 
1.1 关系运算 
friends1  [zero,kevin,jason,egon]
friends2  [Jy,ricky,jason,egon]l[]
for x in friends1:if x in friends2:l.append(x)
print(l)1.2 去重 
定义一个包含重复元素的列表 
my_list  [1, 2, 2, 3, 4, 4, 5]# 使用集合进行去重  
# 注意集合是无序的所以结果列表的顺序可能会改变  
my_set  set(my_list)
print(my_set)  ## {1, 2, 3, 4, 5}# 如果需要可以将结果转换回列表  
my_list_unique  list(my_set)# 打印结果  
print(my_list_unique)  ## [1, 2, 3, 4, 5]2 定义: 
在{}内用逗号分隔开多个元素多个元素满足以下三个条件 
集合内元素必须为不可变类型集合内元素无序集合内元素没有重复 
s{1,2} # sset({1,2})s{1,[1,2]} # 集合内元素必须为不可变类型
s{1,a,z,b,4,7} # 集合内元素无序
s{1,1,1,1,1,1,a,b} # 集合内元素没有重复
print(s)2.1 了解 
s{} # 默认是空字典
print(type(s))2.2定义空集合 
sset()
print(s,type(s))3 类型转换 
set({1,2,3})
resset(hellolllll)
print(res)print(set([1,1,1,1,1,1]))
print(set([1,1,1,1,1,1,[11,222]]) # 报错print(set({k1:1,k2:2}))4 内置方法 
并集|、交集、差集-和对称差集^等这些操作在处理集合数据时非常有用。 
关系运算符 
friends1  {“zero”,“kevin”,“jason”,“egon”} friends2  {“Jy”,“ricky”,“jason”,“egon”} 
4.1 取交集两者共同的好友 
resfriends1  friends2
print(res)
print(friends1.intersection(friends2))4.2 取并集/合集两者所有的好友 
print(friends1 | friends2) print(friends1.union(friends2)) 
4.3 取差集取friends1独有的好友 
print(friends1 - friends2)
print(friends1.difference(friends2))取friends2独有的好友 
print(friends2 - friends1)
print(friends2.difference(friends1))4.4 对称差集: 求两个用户独有的好友们即去掉共有的好友 
print(friends1 ^ friends2)
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  Trues1{1,2,3}
s2{1,2,3}
print(s1  s2) # s1与s2互为父子
print(s1.issuperset(s2))
print(s2.issuperset(s1))去重 
4.6 只能针对不可变类型去重 
print(set([1,1,1,1,2]))4.7 无法保证原来的顺序 
if dic not in new_l: 这行代码检查当前遍历到的字典 dic 是否不在 new_l 列表中。如果不在说明这是一个新的即之前未出现过的字典应该被添加到 new_l 中。 new_l.append(dic) 如果上述条件为真则将 dic 添加到 new_l 列表中。 
l[1,a,b,z,1,1,1,2]
llist(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)5 其他操作 
5.1 长度 
s{a,b,c}
len(s)35.2 成员运算 
c in sTrue5.3 循环 for item in s:print(item)c
a
b6 需要掌握的其他内置方法 
6.1 方法1discard 
s{1,2,3}
s.discard(4) # 删除元素不存在do nothing
print(s)
s.remove(4) # 删除元素不存在则报错6.2 方法2update 
s{1,2,3}
s.update({1,3,5})
print(s)6.3 方法3pop 
s{1,2,3}
ress.pop()
print(res)# 需要掌握的内置方法4add
s.add(4)
print(s)7.其余方法全为了解 
7.1 isdisjoint 
isdisjoint() 方法用于判断两个集合是否没有交集。如果两个集合没有交集则返回 True否则返回 False 
set1  {1, 2, 3, 4}  
set2  {5, 6, 7, 8}  
print(set1.isdisjoint(set2))  # 输出: True  set3  {3, 4, 5}  
print(set1.isdisjoint(set3))  # 输出: False7.2 difference_update 
ifference_update() 方法用于从集合中移除那些也出现在指定集合或可迭代对象中的所有元素。这个方法是就地in-place修改集合的即它会直接修改调用它的集合而不是返回一个新的集合。 
set1  {1, 2, 3, 4, 5}  
set2  {4, 5, 6, 7}  使用 difference_update() 移除 set1 中与 set2 相同的元素  
set1.difference_update(set2)  print(set1)  # 输出: {1, 2, 3}  注意set1 已经被修改了