疑问点:
日常工作中,面对list,字符串中重复的数据,除了进行循环外,怎么快速进行去重?
带着这样的问题,我们今天来认识下python的内置方法set()
Step1:
我们先看下set方法源码:
set方法源码
可以看出:
set()中输入参数一定要为iterable,那么在python中有哪些类型是可以iterable的呢?
set()返回结果为是新的一个无序不重复元素集,大家可以打印下set()的type类型为<class 'set'> ,并且不改变原来的值
Step2:
接着回来上面的问题,有哪些类型的数据可以iterable呢?
首先,可以直接作用于 for 循环的数据类型有以下几种:
一类是集合数据类型,如 list、tuple、dict、set、str 等;
一类是 generator,包括生成器和带 yield 的 generator function。
然后,判断一个对象是否可iterable,可以使用 isinstance() 判断一个对象是否是Iterable对象:
判读是否为Iterable对象
Step3:
有了上述了解后,我们看下set()具体使用场景:(具体通过两个list进行比较)
a)使用运算符(取交集、并集、两个list各自的差集)
使用运算符进行操作
b)使用set()集合的函数
set()函数
总结:
set()可以很好的帮我们去解决遇到多个集合的比较的问题,也启发我们在使用最基础的for循环,还有其他之外更好的方法去提升和改善我们的代码