文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python集合set()方法如何使用

2023-06-29 13:09

关注

这篇文章主要讲解了“Python集合set()方法如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python集合set()方法如何使用”吧!

在python3中按数据类型的可变与不可变大致分为如下几种类型:

1.集合的特点

无序不重复没有重复的元素,且元素无序存放(故集合没有下标和切片),set的只要作用就是用来给数据去重。

使用时为 { },与字典区分:当花括号里的元素不是键值对的时候为集合。

集合的底层其实是通过字典来封装的

2.set的建立

可以使用大括号 { } 或者 set() 函数创建集合,但是注意如果创建一个空集合必须用 set() 而不是 { },因为{}是用来表示空字典类型的。

1.用set()函数创建set集合

person2 = set(("hello","jerry",133,11,133,"jerru")) #只能传入一个参数,可以是list,tuple等 类型print(len(person2))print(person2)'''5{133, 'jerry', 11, 'jerru', 'hello'}'''

2.add()

a=set()a.add("a")a.add("b")print(a)

3.用{}创建set集合。空set集合用set()函数表示,不可a={}。

person ={"student","teacher","babe",123,321,123} #同样各种类型嵌套,可以赋值重复数据,但是存储会去重print(len(person))  #存放了6个数据,长度显示是5,存储是自动去重print(person) #但是显示出来则是去重的'''5{321, 'teacher', 'student', 'babe', 123}'''#空set集合用set()函数表示person1 = set() #表示空set,不能用person1={}print(len(person1))print(person1)'''0set()'''

4.set集合的转化

a=["awe","weg","dawqgg"]c=set(a)print(c)b="chenshuagege"d=set(b)print(d)al=("233","34455")aw=set(al)print(al)

3.常见使用注意事项

#set对字符串也会去重,因为字符串属于序列。str1 = set("abcdefgabcdefghi")str2 = set("abcdefgabcdefgh")print(str1,str2)print(str1 - str2) #-号可以求差集print(str2 - str1)  #空值#print(str1 + str2)  #set里不能使用+号===================================================================={'d', 'i', 'e', 'f', 'a', 'g', 'b', 'h', 'c'} {'d', 'e', 'f', 'a', 'g', 'b', 'h', 'c'}{'i'}set()

4.set的常用方法

4.1 set集合的增删改查操作

#1.给set集合增加数据person ={"student","teacher","babe",123,321,123}person.add("student") #如果元素已经存在,则不报错,也不会添加,不会将字符串拆分成多个元素,区别updateprint(person)person.add((1,23,"hello")) #可以添加元组,但不能是listprint(person)'''{321, 'babe', 'teacher', 'student', 123}{(1, 23, 'hello'), 321, 'babe', 'teacher', 'student', 123}'''# update用于集合的合并,可以把多个集合添加到一个集合里面。可以iterar的数据都可以添加成set集合person.update("abc")#使用update不能添加字符串,会拆分print(person)  #会将字符串拆分成a,b,c三个元素'''{321, 1, 3, 'b', 'c', 'teacher', (1, 23, 'hello'), 'a', 'babe', 'student', 123}'''set1 = set()set1.add('武动乾坤')set2 = {'jsy', '稻香', '爱的代价', '大碗宽面'}set2.update(set1)print(set2)'''{'大碗宽面', 'jsy', '爱的代价', '稻香', '武动乾坤'}'''#2.从set里删除数据person.remove("student")#按元素去删除print(person)#print("student")如果不存在 ,会报错。'''{321, 1, 3, 'c', 'b', (1, 23, 'hello'), 'teacher', 'babe', 'a', 123}'''person.discard("student")#功能和remove一样,好处是没有的话,不会报错ret = person.pop() #在list里默认删除最后一个,在set里随机删除一个。print(person)print(ret) #pop()返回的是被删除掉的那一项'''{1, 3, (1, 23, 'hello'), 'teacher', 'b', 'a', 'babe', 123, 'c'}'''#3.更新set中某个元素,因为是无序的,所以不能用角标#所以一般更新都是使用remove,然后在add#4.查询是否存在,无法返回索引,使用in判断if "teacher" in person:    print("true")else:    print("不存在")'''true'''#5.终极大招:直接清空setprint(person)person.clear()print(person)'''set()'''

4.2 其它用法

交 并 差集操作交集 intersection;并集 union;差集 difference
可用运算符表示交集,并集,差集交集 & 并集 | 差集 -

#取两者的交集b={1,23}a={23,5}ret=b.intersection(a)print(ret)#取两者的交集,intersection_update会改变b的内容b={1,23}a={23,5}b.intersection_update(a)print(b)#union是把两个set集合合起来a={"a","b","c"}b={"a","wa"}wt=a.union(b)print(wt)#difference表示的意思是a中的内容b是没有的,但是这个不会修改a自身的值,而是付给ret了a={"12","14","234"}b={"12","23"}ret=a.difference(b)print(ret)#difference_update表示的意思是a中的内容b是没有的,执行完,会修改a的内容a={"12","14","234"}b={"12","23"}a.difference_update(b)print(a)#symmetric_difference为把两个set集合里相同的内容当作边然后取这边两边的内容a={"a","b","c"}b={"a","wa"}ret=a.symmetric_difference(b)print(ret)a.symmetric_difference(b)print(a)#可用运算符表示交集,并集,差集set2 = {1, 2, 3, 4, 5}set3 = {3, 4, 5, 6, 7, 8, 9} print(set2 & set3)  # 交集符号  &print(set2 | set3)  # 并集符号 |print(set2 - set3)  # 差集符号 -b={1,23}a={23,5}#如果a与b有集合的话,就返回false;如果没有集合的话,就返回trueret=b.isdisjoint(a)print(ret)b={1,23,5}a={23,5}#issuperset说明b是否是a的父亲,如果是就输出true,如果不是输出falseret=b.issuperset(a)print(ret)b={1,23,5}a={23,5}#b是否是a的子,如果是就输出true,如果不是就输出falseret=b.issubset(a)print(ret)

5.列表,元组,字典,集合 

5.1 它们之间的类型转换

列表,元组,集合,此三者均可相互转

list----->tuple,set 列表转集合时,注意不能有重复元素,否则长度改变

tuple----->list,set

set----->list,tuple

当字典参与的转换时,需特殊对待

dict----->list,tuple 仅能将字典的键转换,不能将值转换

list----->dict 列表内必须是列表或是元组,且其中只有两个元素时,可转

list = [['a', {1}], ('', 2), ('c', 3)]print(dict(list))

输出:

{‘a’: {1}, ‘’: 2, ‘c’: 3}

5.2 集合和列表方法上的区别

正是由于集合的无序性,没有下标,故在方法上与列表有些差异。

感谢各位的阅读,以上就是“Python集合set()方法如何使用”的内容了,经过本文的学习后,相信大家对Python集合set()方法如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯