当前位置:   article > 正文

Python基础--集合_set1={1,2,3,4,5},set2={2,3,5,6},则set1 - set2的结果是

set1={1,2,3,4,5},set2={2,3,5,6},则set1 - set2的结果是

集合

集合是可变的数据类型
元素必须是不可变的数据类型
特征:
无序、不重复

一、创建

1)正确方式

set1 = set({1,2,3,4})
print(set1)
  • 1
  • 2

2)错误方式

set2 = {1,2,3,[2,3],{'name':'alex'}}  # 报错
  • 1

二、增加

1)set.add(要添加的元素)

注意这个添加的元素必须是不可变数据类型

set1 = {'pyrookie','pipijiang'}
set1.add('女神')
print(set1)

{'pipijiang', '女神', 'pyrookie'}
  • 1
  • 2
  • 3
  • 4
  • 5

2)set.update(iterable)

注意传入的参数必须是可迭代对象
类似于列表的extend的增加

set1 = {'pyrookie','pipijiang'}
set1.update('abc')   #类似与extend的增加
print(set1)

{'pyrookie', 'pipijiang', 'c', 'a', 'b'}
  • 1
  • 2
  • 3
  • 4
  • 5

三、删除

1)随机删除 set.pop()

随机删除,并返回删除的内容

set1 = {'b', 'a', 'pipijiang', 'pyrookie', 'c', '女神'}
print(set1.pop())  # 随机删除  并返回删除的内容
print(set1)

pipijiang         
{'c', 'pyrookie', 'a', '女神', 'b'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2)指定元素删除 set.remove(member)

指定元素删除,如果删除的元素不是集合中的元素会报错

set1 = { 'pipijiang', 'pyrookie',  '女神'}
set1.remove('女神')   
print(set1)

{'pipijiang', 'pyrookie'}
  • 1
  • 2
  • 3
  • 4
  • 5

3)清空 clear()

将集合清空,只保留一个空集合

set1 = { 'pipijiang', 'pyrookie','女神'}
set1.clear()
print(set1)

set()
  • 1
  • 2
  • 3
  • 4
  • 5

4)del set

从内存中删除

set1 = {1,2,3}
del set1
print(set1)


NameError: name 'set1' is not defined
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

四、改

没有改这个功能,因为集合的元素都是不可变数据类型

五、查

无序,只能for in 遍历查看集合中的元素

六、集合的特殊功能

1)交集 & set1.intersection(set2)

 # 返回一个交集集合
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}

print(set1 & set2)  
print(set1.intersection(set2))

{4, 5}
{4, 5}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2)并集 | set1.union(set2)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}

print(set1 | set2)
print(set1.union(set2))

{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3)反交集

就是对于set1 来说 独有的

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}

print(set1 - set2)
print(set1.difference(set2))  

{1, 2, 3}
{1, 2, 3}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4)子集 和 超集

1、 子集 < set1.issubset(set2)

set1 = {1,2,3}
set2 = {1,2,3,4,5,6,7,8}

print(set1 < set2)  #这两个相同,都是说明set1 是set2 的子集,set2 是 set1 的超集
print(set1.issubset(set2))

True
True
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2、 超集 > set1.issubset(set2)

set1 = {1,2,3}
set2 = {1,2,3,4,5,6,7,8}

print(set2 > set1)  ##这两个相同,都是说明set1 是set2 的子集,set2 是 set1 的超集
print(set2.issuperset(set1))

True
True
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

七、主要功能:去重

对列表中的元素去重

li = [1,2,3,4,5,6,5,1,2]
set1 = set(li)
li = list(set1)
print(li)

[1, 2, 3, 4, 5, 6]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

八、将集合转变为不可变数据类型

转换后的数据类型
1、无重复
2、没有集合的添加和删除方法

s = frozenset('barry')
print(s, type(s))

frozenset({'b', 'r', 'y', 'a'}) <class 'frozenset'>
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/75384
推荐阅读
相关标签
  

闽ICP备14008679号