集合(Set)是Python的一个非常有用的数据结构,特别适用于处理无序唯一元素的需求,但很多人都Python的集合了解并不深入。
今天,咱们通过几个实例,帮助Python初学者理解并彻底掌握集合的强大功能。不管你是学习Python还是其他的语言或技能,请学着向自己提出问题
下面的程序中,我会向你提出很多个问题(用斜体表示的),看我们想的是否一致。
另外,对我额外提出的问题,建议你用Python实践练习来确认一下
一 集合set的创建
1 集合创建方法 1
我初学Python的时候,是通过去除列表重复项这么一个练习知道集合(set)的,看示例:
list1 = [2,3,2,3,3,2,1]
# 通过列表创建一个集合a
a = set(list1)
print(a)
#结果为 {1,2,3}
这就是集合最大的功能:
去除重复项
这意味着集合中不会有重复的元素。
集合是无序的,也就是说
不能像字符串和列表、元组一样通过元素索引下标得到数据的内容
2 集合创建方法 2
通过上面实例,可以看出,集合的标识符和字典一样,是{},那么如何创建一个空集合???
a = {} #这是创建了一个字典
b = set() #这才是创建集合
二 集合的常用操作
1 增加 add (单个元素)
a = set() #建立一个空集合
a.add(4)
print(a)
请问:
add后是否可以增加[2]这种单个的列表或元组,
毕竟可以加字符串或数字的类型
2 增加 updage (多个元素)
a = set()
a.update([5, 6])
print(a)
学习时得经常问自己问题
*请问:
update后的参数可以是元组吗?
或者,输入一个字符串会怎样?比如"2,3,2" *
3 删除 remove
a = {2,3}
a.remove(2)
print(a)
a.remove(5) #这样是错的
print(a)
remove 只能删除集合中有的元素,没有的话用remove就会出错,
和字典一样的提示错误KeyError: 5
4 删除2
a = {2,3}
a.discard(2)
print(a)
a.discard(5)
print(a)
同样的功能,但使用discard不会出错,当然也不会做删除的处理
三 集合的运算
这部分在初学Python的时候用的不多,后期做数据处理的时候会常用些,
这里先做一般了解就可以了,到需要的时候,简单一看就会了
并集(union()或|)
交集(intersection()或&)
差集(difference()或-)
对称差集(symmetric_difference()或^)
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
print(set1 | set2) # 并集
#合一起了 {1, 2, 3, 4, 5, 6}
print(set1 & set2) # 交集
#相同的 {3, 4}
print(set1 - set2) # 差集
#返回只在set1里,不在set2里的 {1, 2}
print(set1 ^ set2) # 对称差集
#相当于不同时存在于两个集合里的元素
#{1, 2, 5, 6}
四 2个小练习
集合的唯一性非常适用于数据去重。例如,从列表中删除重复项并返回新的列表。
data = [1, 2, 2, 3, 4, 4, 4, 5]
unique_data = list(set(data))
print(unique_data)
同时,集合也可以用来测试元素是否属于某个群体,快速实现成员测试。
my_set = {1, 2, 3, 4, 5}
print(3 in my_set)
掌握Python集合的使用不仅能帮助你提高代码的效率和质量,还能让你更好地处理数据相关的问题。
以上就是“几个小例子,掌握Python集合的精髓用法!”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/12108/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取