python的学习之路(2)--集合

python的学习记录

序言:这一篇主要讲集合

创建一个集合

集合是无序的且不重复的元素序列
我们可以使用 { } 或者 set() 函数创建集合
但是当创建空集合时必须使用set(),因为直接使用 {}是表示创建一个空字典。

示例:

#使用{}
fruits = { apple, banana, watermelon,... }
#或者set()
set( fruit )  #得到{ ‘f’,'r','u','i','t' }

在集合里添加元素

如下:

fruits。add( x )  #将元素x

将元素x添加到集合fruits中,如果元素x已经存在,就不进行任何的操作。

另外一种添加元素的方法,可以添加不止一个元素,并且参数可以是列表、元祖、字典等。
示例如下:

#添加一个包含两个元素的列表
fruits = set( ('apple','banana',) )
fruits.update( [ 'happy','sad', ] )

得到结果:
{ ‘apple’,‘happy’,‘sad’,‘banana’, }

#添加一个元组
fruits = set( ('apple','banana',) )
fruits.update( ('happy') )

得到结果:
{ ‘apple’,‘happy’,‘banana’, }

移除元素

利用方法remove(),示例如下:

fruits.remove( x )

将x元素从fruits集合中移除,若x元素本就不存在,会发生错误。

fruits = { 'apple', 'banana', 'watermelon' }
fruits.remove( 'banana' )
print( fruits )

得到结果:
{ ‘apple’, ‘watermelon’, }

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。
示例如下:

fruits.discard( x )
fruits = { 'apple', 'banana', 'watermelon' }
fruits.discard( 'banana' )
print( fruits )
fruits.dsicard( 'happy' )  #即使不存在happy这个元素,也不会出错
print( fruits )

得到结果:
{ ‘apple’, ‘watermelon’, }
{ ‘apple’, ‘watermelon’, }

设置随即删除集合中的一个元素:

fruits.pop(  )

pop方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

计算元素个数

仍然用len( )来计算,并不是计算有多少个位,而是计算元素个数。

thisset = set(("Google", "Runoob", "Taobao"))
len( thisset )

得到结果:
3

清空集合

利用clear(),示例如下:

fruits = { 'apple', 'banana', 'watermelon' }
fruits.clear()
print( fruits )

得到结果:
set()

判断元素是否在集合中存在

这里就不能用if语句去判断了,直接利用x in s的格式即可

fruits = set( ( 'apple', 'banana', 'watermelon' ) )
'apple' in fruits
'happy' in fruits

返回结果:
True
False

集合之间的运算

集合相减

a = set( 'watermelon' )
b = set( 'water' )

a - b  #集合a中包含集合b却不包含的元素

得到结果:
{ ‘m’, ‘e’, ‘l’, ‘o’, ‘n’, }

对两个集合做并集

a = set( 'watermelon' )
b = set( 'water' )

a | b  #集合a和b中包含的所有元素

得到结果:
{ ‘w’, ‘a’, ‘t’, ‘e’, ‘r’, ‘m’, ‘e’, ‘l’, ‘o’, ‘n’, }

对两个集合做交集

a = set( 'watermelon' )
b = set( 'water' )

a & b  #集合a与b中都包含了的元素,取交集

得到结果:
{ ‘w’, ‘a’, ‘t’, ‘e’, ‘r’ }

求取交集以外的部分

a = set( 'watermelon' )
b = set( 'water' )

a ^ b  #不同时包含于a和b的元素

得到结果:
{ ‘m’, ‘e’, ‘l’, ‘o’, ‘n’, }

集合内置方法完整列表

在这里插入图片描述

感谢观看

欢迎各位批评指正 😃

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值