page contents

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

本文讲述了几个小例子,掌握python集合的精髓用法!具有很好的参考价值,希望对大家有所帮助。一起跟随好学星城小编过来看看吧,具体如下:

attachments-2024-05-L1Ntqsom6655733f03f64.png本文讲述了几个小例子,掌握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}

这就是集合最大的功能:

去除重复项

这意味着集合中不会有重复的元素。

集合是无序的,也就是说

不能像字符串和列表、元组一样通过元素索引下标得到数据的内容

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编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2024-05-28 14:02
  • 阅读 ( 80 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1482 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1482 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章