设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 综合聚焦 > 编程要点 > 正文

Python中的set集合如何理解?如何用?

发布时间:2022-01-14 14:27 所属栏目:13 来源:互联网
导读:今天给大家分享的是关于Python中的set集合的内容,本文有对Python中的set集合的定义、使用以及其他知识的详细介绍,有需要的朋友可以参考,接下来跟随小编一起看看吧。 Python中的set集合 一、集合是什么? 集合是什么呢?相信读者朋友们哪怕是没有用过集合
      今天给大家分享的是关于Python中的set集合的内容,本文有对Python中的set集合的定义、使用以及其他知识的详细介绍,有需要的朋友可以参考,接下来跟随小编一起看看吧。
 
     Python中的set集合
    一、集合是什么?
    集合是什么呢?相信读者朋友们哪怕是没有用过集合这个数据类型。也一定在数学课堂上听过集合这个名词。数学中的集合是一个基本概念,说白了一堆不重复的数字可以组成一个集合。回到Python中集合的数据类型,它可以用来存放多个不重复的数据,并且这些数据的数据类型是不可变类型。这些不可变类型包括数字,字符串,元组。也就是说可变的数据类型如列表,字典是不能作为集合的元素的。
    Python中的集合分为两种,一种是set类型的集合,另一种是fronzenset类型的集合。这两种类型的集合的区别是:set集合可变,即可以添加,删除集合内部的元素,而fronzenset集合则不可变。即不能添加,删除集合内部的元素。
    set集合的定义是{element1,element2,...,elementn}, 其中,element1~elementn表示集合中的元素,个数没有限制。每个元素都是唯一的。
 
    二、set集合怎么用?
    1、创建set集合
    创建set集合的方式有两种:
    第一种:通过{}方式创建,其语法格式是:{element1,element2,...,elementn}
    第二种:通过set 函数, 其语法格式是:set(iterable) 其中iterable不传的话,则会创建一个空的set对象。传入的iterable必须是可以遍历的序列,例如字符串,列表等。举个例子:
 
set_demo = {'1', 2, ('码农', '飞哥')}
print(set_demo)
list = [1, 'test', 1, ('码农', '飞哥')]
print('列表list结果=', list)
set_demo1 = set(list)
print('生成的set结果=', set_demo1)
 
    运行结果是:
 
{2, ('码农', '飞哥'), '1'}
列表list结果= [1, 'test', 1, ('码农', '飞哥')]
生成的set结果= {1, ('码农', '飞哥'), 'test'}
 
    可以看到列表list中哪怕有两个1元素,但是生成set集合之后还是只有一个1元素,也就是说在集合中值相同的元素只会存储一遍。
 
    2、删除set集合
    删除set集合可以通过del(setname)函数来删除,setname是要删除的set集合名称。
 
    3、访问set集合元素
    由于集合中的元素是无序的,因此五香向列表那样使用下标访问元素,Python中,访问集合元素最常用的方法是使用循环,将集合中的元素逐一读取出来。
 
set_demo = {'1', 2, ('码农', '飞哥')}
for value in set_demo:
    print(value)
 
    运行结果是:
 
2
 
('码农', '飞哥')
 
1
    元素的输出也是无序的。
 
    4、删除集合中的元素
    删除集合中的元素的方式有两种:
    第一种:通过remove()方法,其语法结构是:setname.remove(element),其中,setname为待操作的set集合,element为需要删除的元素,如果删除失败的话则会报KeyError错误。
    第二种:通过discard()方法,其使用跟remove()方法一致,只是如果删除元素失败的话不会报错。
 
 
    运行结果是:
 
删除元素1之后的集合= {2, ('码农', '飞哥')}
删除元素5之后的集合= {2, ('码农', '飞哥')}
 
    5、向集合中添加元素
    通过add函数可以向集合中添加元素,其语法结构是:setname.add(element),其中setname是待操作的set集合,element是待添加的元素,只能添加不可变的元素,例如:数字,元组或者字符串,不能添加列表,字典,set集合这类可变的数据。
    举个例子:
 
set_demo.add('6')
print('添加元素6之后的结果是=', set_demo)
 
    运行结果是:
 
添加元素6之后的结果是= {2, '6', ('码农', '飞哥')}
 
    三、set集合的交并补
    在数学中集合是有交集并集和补集的。Python中的集合也是有这些概念的。
 
    1、交集
    通过&连接两个set集合就能生成一个新的集合,新集合取两个原集合的公共元素。
 
    2、并集
    通过|连接两个set集合就能生成一个新的集合,新集合取两个原集合的全部元素。
 
    3、差集
    通过-连接两个set集合就能生成一个新的集合,新集合取一个集合中有而另一个集合中没有的元素。
    举个栗子:
 
set_demo = {1, 3, 5, 6}
set_demo1 = {2, 4, 6}
print("取交集的结果=", set_demo & set_demo1)
print("取并集的结果=", set_demo | set_demo1)
print("取差集的结果=", set_demo - set_demo1)

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读