Python--第七课(集合)

一、概念

set():又称为动态数组.集合是一个无序不重复(唯一)的集合

基本功能包括:关系测试和消除重复元素.

集合对象还支持union(联合),intersection(交),difference(差)和sysmmetric difference(对称差集)等数学运算.

二、集合的创建

大括号或set()函数可以用来创建集合

注意:想要创建空集合,必须使用set()而不是{}  {}用于创建空字典

创建语法:

 
set1=set()
set2={'a',1}
print(type(set1))
print(type(set2))
print(set2)

执行命令得

 
<class 'set'>
<class 'set'>
{1, 'a'}

使用set()构造函数将字典/列表/元组转换成集合形式

 
set1=set(('哈哈','呵呵'))
print(type(set1))
print(set1)
set2=set({'a':1,'b':2})#集合中只提取字典中的key值 因为key是唯一的
print(type(set2))
print(set2)
set3=set([1,2,3])
print(type(set3))
print(set3)

执行命令得

 
<class 'set'>
{'呵呵', '哈哈'}
<class 'set'>
{'b', 'a'}
<class 'set'>
{1, 2, 3}

三、集合的内置函数

序号 函数及描述
1

set.add(obj) 

obj不存在就添加 存在不添加


2

set.remove(obj) 

obj存在就删除 不存在就抛异常

3

set.clear()

清空集合 

4

set.pop()

随机删除一个  正整数中最小的 并且返回 

5

set.update('abcd') 

将字符串或集合中的数据联合放到set集合中

例:
 
set={1,2,3}
set.add(4)#在集合中添加4
print(set)
set.remove(3)#删除集合中的3
print(set)
rand=set.pop()
print('随机删除一个:',rand)
set.update('abcd')#将字符串abcd联合放到集合中
print(set)
set.clear()#清空集合
print(set)

执行命令得

 
{1, 2, 3, 4}
{1, 2, 4}
随机删除一个: 1
{'d', 2, 4, 'b', 'a', 'c'}
set()

四、集合的运算

a={} b{}

<1>演示联合 只要出现过得全部提取

print(a|b)

<2>演示交 重复的元素提取

print(a&b)

<3>演示差  以a为主 去掉重复 剩下a中数据 以前者为主 

print(a-b)

<4>对称差集 提取不重复的数据

print(a^b)

例:

 
a={"peace","peace","rong","rong","nick"}
b={"nick","haha",'rong'}
print(a)
print(b)
#演示联合  只要出现过一次全部提取
c=a|b
print(type(c))
print(c)
#演示交 重复的提取
c=(a&b)
print(type(c))
print(c)
#演示差 以前者为主去掉重复 剩下a中的数据
print(a-b)
#对称差集 不重复的数据 ^异或
print(a^b)
执行命令得
 
{'peace', 'nick', 'rong'}
{'haha', 'rong', 'nick'}
<class 'set'>
{'haha', 'rong', 'peace', 'nick'}
<class 'set'>
{'nick', 'rong'}
{'peace'}
{'peace', 'haha'}





猜你喜欢

转载自blog.csdn.net/vanchaoi/article/details/80266469