笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册
查看: 3470|回复: 0

Python中set的用法

[复制链接]
发表于 2022-3-13 19:24:05 | 显示全部楼层 |阅读模式

python 的集合类型和 其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素.集合对象还支持union(联合), intersection(交), difference(差)和sysmmetricdifference(对称差集)等数学运算,和我们初中数学学的集合的非常的相似。

1. 先看下python 集合 类型的不重复性,这方面做一些去重处理非常的好,比如我们要处理一些数据,想把重复的数据给

去掉,然后在操作的话,可以把它转换成集合类型,然后在由集合类型转换成其他的类型。

  1. a = [2,3,4,2,1]
复制代码

我们最终要实现的效果是:a = [1,2,3,4]

那我们要怎么实现呢。

1观察下这个列表,我们发现列表里有重复的元素存在,所以我们第一想到的就是去掉列表里的重复元素。

  1. a = set(a)
  2. print a
复制代码

集合a的结果是:set([1, 2, 3, 4])

下一步要实现排序,我们又想到了一个比较简单的方法,因为集合没有排序方法,而列表有排序的方法,所以我们们把它转换成python 列表 的类型,调用列表的排序方法。

  1. a = list(a)
  2. a.sort()
  3. print a
复制代码

列表a的结果是:[1,2,3,4]


2. union(联合), intersection(交), difference(差)

  1. a = set('abcde')
  2. b = set('bdcf')
复制代码

求集合的交集:

  1. a & b
复制代码

结果是:set(['c', 'b', 'd'])

求差集:

  1. a - b
复制代码

结果是:set(['a', 'e'])

求联合:

  1. a|b
复制代码

结果是:set(['a', 'c', 'b', 'e', 'd', 'f'])

总结:python 集合和数学的集合概念比较像,经常用在数据的去重处理和一些数据的中转处理。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-9-8 11:07 , Processed in 0.037997 second(s), 18 queries .

© 2001-2020

快速回复 返回顶部 返回列表