python BeautifulSoup 查找class pythonset查找元素_求两个集合是否有交集 c语言

前言


Hi,大家好,我是可乐, 今天介绍 Python 集合

的相关知识,并附上相应的案例代码,便于学习、吸收。

集合简介


集合 (Set)

是 Python 中基本数据结构之一,与数学中的集合概念类似但又存在一定差异,集合中的元素唯一、且无序存储。 集合使用大括号 - {}

包裹,元素之间使用逗号 -

分隔,集合中的元素可以是字符串、数字、列表等其他任何不可变数据类型。 集合不支持索引、嵌套,也没有切片操作,但支持更新、删除等操作,并且可进行 并集

交集

差集

等常见的集合操作,下面我们通过案例来学习。

集合初体验


1、使用 set()

方法定义一个空集合。

>>> def_set = set()


2、使用 {}

  定义一个非空集合 。

# 之前介绍过 {} 用于定义空字典


3、集合特性之元素唯一


>>> def_set = {


4、集合特性之元素无序存储


>>> def_set = set([

5、集合特性之不可通过索引获取元素,但可通过 for 循环获取。

>>> def_set = {


6、使用 in

not in

判断元素是否在集合中,是则返回 True

, 否则返回 False


>>> def_set = (

集合基础方法


集合基础方法可参照下表:

方法

说明

len(set)

计算集合元素数量

max(set)

返回集合中最大的元素

min(set)

返回集合中最小的元素

type(set)

查看数据类型

set(iterable)

将可迭代对象转换为集合


1、使用 len

方法计算集合数量。

>>> def_set = {


2、使用 max

方法,返回集合中最大的元素。

>>> def_set = {


3、使用 min

方法,返回集合中最小的元素。

>>> def_set = {


4、使用 type

方法查看数据类型。

>>> def_set = {


5、使用 set

方法将可迭代对象转换为集合。

>>> def_set = set([

集合内置方法


Python

中的 set

类提供了集合操作相关的内置方法,集合中还提供了部分操作符号与之对应,下面按照类中方法定义的顺序演示。 部分集合内置函数与集合操作符对于关系可参照下表:

方法

符号

说明

difference

-

计算差集

intersection

&

计算交集

issubset

<

子集判断

symmetric_difference

^

计算对称差集

union

|

计算并集


1、使用 add

 方法,给集合添加元素,若元素已存在,不做任何操作。

# 使用语法:set.add(obj)


2、使用 clear

方法清空集合。

# 使用语法:set.clear()


3、使用 copy

方法 浅拷贝

复制一个新集合。

# 使用语法:set.copy()


4、使用 difference

方法,计算两个集合的差集,返回一个新集合,与集合运算符 -

效果相同。

# 使用语法:set1.difference(set2)


5、使用 difference_update

方法,计算两个集合的差集,并直接从 def_set1 中移除两个集合都存在的元素。

# 使用语法:set1.difference_update(set2)


6、使用 discard

方法,删除集合中指定的元素,元素不存在也不会报错。

# 使用语法:set.discard(obj)


7、使用 intersection

方法,计算多个集合的交集,与集合运算符 &

效果相同。

# 使用语法:set1.intersection(set2,set3,...)


8、使用 intersection_update

方法,计算多个集合的交集,并直接从 def_set1 中删除所有集合中都不重叠的元素。

# 使用语法:set1.intersection_update(set2,set3,...)


9、使用 isdisjoint

方法,判断两个集合是否不包含相同的元素,是则返回 False

,否则返回 True


# 使用语法:set1.isdisjoint(set2)


10、使用 issubset

方法,判断 set1 是否是 set2 的子集,是则返回 True

,否则返回 False


# 使用语法:set1.issubset(set2)


11、使用 issuperset

方法,判断 set1 是否是 set2 的 超集

,可理解为父集,是则返回 True

,否则返回 False


# 使用语法:set1.issuperset(set2)


12、使用 pop

方法,删除并返回集合中任意元素。

# 使用语法:set.pop()


13、使用 remove

方法,删除集合中某一元素。

# 使用语法:set.remove(obj)


14、使用 symmetric_difference

方法,删除两个集合中相同的元素,再取并集,即 对称差集

,与集合运算符 ^

效果相同。

# 使用语法:set1.symmetric_difference(set2)


15、使用 symmetric_difference_update

方法,取两个集合的对称差值,并在set1 中删除两个集合中相同的元素 。

# 使用语法:set1.symmetric_difference_update(set2)


16、使用 union

方法,取多个集合的并集,与集合运算符 |

 效果相同。

# 使用语法:set1.union(set2,set3,...)


17、使用 update

方法,添加新的元素或集合到当前集合中,重复的元素会被忽略。

# 使用语法:set1.update(set2)

集合应用


1、使用集合对字符串进行去重。

>>> def_str =


2、使用集合对列表进行去重。

>>> def_list = [


3、使用集合对元组进行去重。

>>> def_tuple = (

总结

  1. Python 中的集合,因其元素唯一的特性,常用于数据的去重,当然,它也可用于数学集合的相关计算。
  2. 定义集合可使用  set() 方法,但不能使用 {} ,因为大括号定义的是一个空字典,集合的元素只能为不可变数据类型。
  3. 集合的内置方法中,部分有操作符与之对应,使用时可自行选择。
  4. 集合的内置方法中,有几组方法的效果需要做一下区分。
  • difference 与 difference_update,求差集
  • intersection 与 intersection_update,求交集
  • symmetric_difference 与 symmetric_difference_update,求对称差集
  • 以上几组方法的区别均在于,后者会直接操作原始集合

python BeautifulSoup 查找class pythonset查找元素_求两个集合是否有交集 c语言_02