Python集合

目录

Python集合

1  集合的创建 

1.1 直接使用{ }创建集合 

1.2  使用set()函数创建集合

2  集合元素的常见操作

2.1  向集合中添加元素

2.2  从集合中删除元素

2,3  查找元素

3  集合的交集、并集和差集数学运算


Python集合基础

         集合是不重复元素的无序集,它兼具了列表和字典的一些性质。

        集合有类似字典的特点:用花括号“{ }”来定义,其元素是非序列类型的数据,也就是没有顺序,并且集合中的元素不可重复,也必须是不变对象,类似于字典中的键。集合的内部结构与字典很相似,区别是“只有键没有值”。

        另一方面,集合也具有一些列表的特点:拥有一系列元素,并且可原处修改。由于集合是无序的,不记录元素位置或者插入点,因此不支持索引、切片或其他类序列(sequence-like)的操作。

1  集合的创建 

1.1 直接使用{ }创建集合 

setname = {element1,element2,element3,...,elementn}

 在创建集合时,如果输入了重复的元素,Python会自动只保留一个。

1.2  使用set()函数创建集合

在Python中,可以使用set()函数将列表、元组等其他可迭代对象转换为集合。

使用set()函数将字符串转换为集合,如下

setname = set("开放的河南城建学院欢迎您!")
print(setname)

运行结果如下

 若创建空集合,只能使用set()函数,大括号“{ }”表示创建一个空字典。

2  集合元素的常见操作

集合是可变序列,所以在创建集合后,还可以对其添加或者删除元素。

2.1  向集合中添加元素

(1)add(  )方法        (2) update( ) 方法,向集合追加的数据是序列        运行程序如下:

setname = set(['北京大学','清华大学'])
setname.add('欢迎来到')
print(setname)
setname1 = set(['北京大学','清华大学'])
setname1.update(['河南城建学院'])
print(setname1)

运行结果图如下:

 

2.2  从集合中删除元素

        在Python中,可以使用del命令删除整个集合,也可以使用集合的discard( )方法、pop( )方法或者remove( )方法删除一个元素,或者使用集合对象的clear( )方法清空集合,即删除集合中的全部元素,使其成为空集合。discard( )方法删除集合中的指定数据,若数据不存在也不会报错。

向集合中添加、删除、清空元素,示例如下:

setname = set(['北京大学','清华大学'])
setname.add('河南城建学院')
print("增加一个集合元素:",setname)
setname.remove('河南城建学院')
print("删除指定集合元素:",setname)
setname.pop()
print("随机移除一个集合元素:",setname)
setname.clear()
print("清空集合:",setname)

运行结果如下:

 使用 remove( ) 方法时,如果指定的内容不存在,将抛出异常。

2,3  查找元素

in 判断数据在集合序列; not in 判断数据不再集合序列

判断元素是否在集合中存在,示例如下:

s1 = {10,20,30,40,50}
print(10 in s1)
print(10 not in s1)

运行结果如下:

3  集合的交集、并集和差集数学运算

“&”交集运算符号,“|”并集运算符号,“-”差集运算符号

对集合进行交集、并集和差集运算,示例如下:

s1 = {'a','e','i','o','u'}
s2 = {'a','b','c','d','e'}
print(s1&s2)    #s1与s2的交集
print(s1|s2)    #s1与s2的并集
s3 = {'a','e'}
print(s1-s3)    #s1与s3的差集

运行结果图如下:

         集合是可修改的数据类型,但集合中的元素必须是不可修改的。换句话说,集合中元素只能是数值、字符串、元组之类的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值