Python--集合

Python--集合

  • <font color=blue>一、创建集合
  • <font color=blue>二、访问集合元素
  • <font color=blue>三、集合的增、删、查、改操作
    • <font color=blue>1、添加元素
    • <font color=blue>2、删除元素
    • <font color=blue>3、查找元素
    • <font color=blue>4、修改元素
  • <font color=blue>四、集合的运算
    • <font color=blue>1、交集
    • <font color=blue>2、并集
    • <font color=blue>3、差集
    • <font color=blue>4、补集
  • <font color=blue>五、集合方法汇总

一、创建集合

1、使用{}创建集合

set1 = {'a', 'b', 'c', 3, 3}
print(set1)#输出
{'c', 3, 'b', 'a'}

从此例可以得出两点:
第一:集合打印出的元素顺序和定义时的顺序不一定是一致的!
第二:集合会将里面重复的元素值自动去除!

set1 = {}
print(type(set1))set2 = {1}
print(type(set2))#输出结果
<class 'dict'>
<class 'set'>

根据上例可以看到,使用{}创建集合时,如果{}里面没有元素,则它不是一个集合,而是一个字典!

2、使用set()创建集合

set1 = set()
print(type(set1))set2 = set([1, 2])
print(type(set2))
print(set2)#输出结果
<class 'set'>
<class 'set'>
{1, 2}

二、访问集合元素

由于set 集合中的元素是无序的,因此无法使用索引(下标)访问元素。通常使用for循环遍历访问集合元素。

set1 = {1, 5, 'k'}
for i in set1:print(i)#结果
1
k
5

三、集合的增、删、查、改操作

1、添加元素

1)、使用add()添加

set1 = {1, 5, 'k'}
set1.add('element')
for i in set1:print(i)#输出
element
1
5
k

如果要添加的元素已存在,则add() 方法就不会添加元素。

2)、使用update()添加元素

set1 = {1, 5, 'k'}
set1.update({'element'})
set1.update([22, 33])
set1.update([44, 55])
for i in set1:print(i)#输出
k
1
33
5
44
55
element
22

2、删除元素

1)、使用remove()删除元素

remove() 方法在移除一个不存在的元素时会发生错误。

set1 = {1, 5, 'k'}
set1.remove(1) #删除元素1
for i in set1:print(i)#输出
k
5

2)、使用discard()删除元素

discard() 方法在移除一个不存在的元素时不会发生错误。

set1 = {1, 5, 'k'}
set1.discard(5) #删除元素5
for i in set1:print(i)#输出
1
k

3)、使用pop()删除元素

pop()方法会随机删除元素。

set1 = {1, 5, 'k', 6, 7}
set1.pop()
set1.pop()
for i in set1:print(i)#输出
6
7
k

4)、使用clear()清空集合

set1 = {1, 5, 'k', 6, 7}
set1.clear() #清空集合

5)、使用del语句删除集合

set1 = {1, 5, 'k', 6, 7}
del set1 #彻底删除集合
for i in set1:print(i)#输出
NameError: name 'set1' is not defined. Did you mean: 'set'?

3、查找元素

可以使用in和not in判断某个元素是否在集合中。

set1 = {1, 5, 'k', 6, 7}
if 'k' in set1:print('ok')
if 'h' not in set1:print('No')#输出
ok
No

4、修改元素

set不支持修改元素。若想要修改元素,可以先将某个元素删除,然后通过add()或者update()重新添加这个元素。

set1 = {1, 5, 'k', 6, 7}
set1.remove('k') #将元素k修改为h,先删除再添加
set1.add('h')
print(set1)#输出
{1, 5, 6, 7, 'h'}

四、集合的运算

1、交集

取两集合公共的元素。

1)、使用“&”运算符

set1 = {1, 2, 3}
set2 = {1, 3, 5}print(set1 & set2) #集合set1和set2做交集运算#输出
{1, 3}

2、使用intersection()方法

set1 = {1, 2, 3}
set2 = {1, 3, 5}print(set1.intersection(set2)) #集合set1和set2做交集运算#输出
{1, 3}

2、并集

取两集合全部的元素。

1)、使用“|”运算符

set1 = {1, 2, 3}
set2 = {1, 3, 5}print(set1 | set2) #集合set1和set2做并集运算#输出
{1, 2, 3, 5}

2)、使用union()方法

set1 = {1, 2, 3}
set2 = {1, 3, 5}print(set1.union(set2)) #集合set1和set2做并集运算#输出
{1, 2, 3, 5}

3、差集

取一个集合(被减数集合)中另一个集合没有的元素。

1)、使用“-”运算符

set1 = {1, 2, 3}
set2 = {1, 3, 5}print(set1 - set2)
print(set2 - set1)#输出
{2}
{5}

2)、使用difference()方法

set1 = {1, 2, 3}
set2 = {1, 3, 5}print(set1.difference(set2))
print(set2.difference(set1))#输出
{2}
{5}

4、补集

取集合 A 和 B 中不属于 A&B 的元素。

使用“-”运算符

set1 = {1, 2, 3}
set2 = {1, 3, 5}
print(set1^set2)#输出
{2, 5}

五、集合方法汇总

本文链接:https://my.lmcjl.com/post/10382.html

展开阅读全文

4 评论

留下您的评论.