几个小例子,掌握Python集合的精髓用法

集合(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}
  1. 这就是集合最大的功能:
    去除重复项
    这意味着集合中不会有重复的元素。
  1. 集合是无序的,也就是说
    不能像字符串和列表、元组一样通过元素索引下标得到数据的内容

2 集合创建方法 2

通过上面实例,可以看出,集合的标识符和字典一样,是{},那么如何创建一个空集合???

a = {} #这是创建了一个字典
b = set() #这才是创建集合

二 集合的常用操作

1 增加 add (单个元素)

a = set() #建立一个空集合
a.add(4)
print(a)

请问:
add后是否可以增加[2]这种单个的列表或元组,
毕竟可以加字符串或数字的类型

2 增加 updage (多个元素)

a = set()
a.update([56])
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 = {1234}
set2 = {3456}

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 = [12234445]
unique_data = list(set(data))
print(unique_data)

同时,集合也可以用来测试元素是否属于某个群体,快速实现成员测试。

my_set = {12345}
print(3 in my_set)

掌握Python集合的使用不仅能帮助你提高代码的效率和质量,还能让你更好地处理数据相关的问题。
希望本文能帮助初学者理解并应用Python中的集合。
关注我吧,带你简洁快速学会Python!

本文结束

如有疑问,请直接留言!必回!
如有帮助,请点赞转发!感谢!
如想速成,实战中学习!关注!

关注Python入门速学
带你实战快速学Python


原文始发于微信公众号(Python入门速学):几个小例子,掌握Python集合的精髓用法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/291544.html

(0)
葫芦侠五楼的头像葫芦侠五楼

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!