Python |11—集合(Set)
本文最后更新于59 天前,其中的信息可能已经过时,如有错误请发送邮件到2031853749@qq.com

Python中的集合(Set)与数学中的集合概念类似, 是一种无序的, 元素不重复的集合. 集合中的元素可以是数字, 字符串, 元组等任意类型.

在形式上, 集合是一个由花括号{}包围的元素序列, 元素之间用逗号隔开.

集合中的每个元素都是唯一的, 不能重复.

创建集合

Python有两种创建集合的方式:

1.直接使用花括号{}创建集合:

在Python中,可以像创建列表,元组和字典一样,直接使用花括号{}创建集合.

set_name={element1,element2,element3,...,elementN}

在创建集合时, 如果输入了重复的元素,则只会保留一个.

2.使用set()函数创建集合:
set()函数可以将一个序列或迭代器转换为集合.

set_name=set(iteration)
  • set_name: 要创建的集合的名称.
  • iteration: 一个序列或迭代器, 用于创建集合. 可以是字符串, 如果是字符串, 则每个字符都是一个元素且不重复.

创建空集合只能用set()函数,这是因为直接使用{}创建的集合是空字典.

集合解包

集合可以同时向多个变量赋值, 例如:

my_set = {10, 20, 30}
a, b, c = my_set
print(f"a: {a}, b: {b}, c: {c}")

输出:

a: 10, b: 20, c: 30 #但是不建议这么做, 因为这样会导致变量的顺序不确定.

向集合中添加和删除元素

向集合中添加元素

向集合中添加元素可以使用add()方法或update()方法.

1.add()方法:

add()方法可以向集合中添加一个元素.

set_name.add(element)
  • set_name: 要添加元素的集合的名称.
  • element: 要添加的元素.

2.update()方法:

update()方法可以向集合中添加多个元素.

set_name.update(iterable)
  • set_name: 要添加元素的集合的名称.
  • iterable: 一个序列或迭代器, 用于添加元素.

从集合中删除元素

从集合中删除元素可以使用remove()方法,discard()方法或pop()方法.

1.remove()方法:

remove()方法可以删除集合中指定元素. 如果指定的元素不存在, 则会引发KeyError异常.

set_name.remove(element)

2.discard()方法:

discard()方法可以删除集合中指定元素. 如果指定的元素不存在, 也不会引发异常.

set_name.discard(element)

3.pop()方法:

pop()方法可以随机删除集合中的一个元素, 并返回该元素. 如果集合为空, 则会引发KeyError异常.

set_name.pop()

也可以使用del语句删除整个集合或者使用集合对象的clear()方法清空集合.

集合运算

Python中的集合运算有以下几种:
1.并集(union):

使用union()方法可以求两个集合的并集.

set1.union(set2)

或者使用|运算符.

set1|set2

2.交集(intersection):

使用intersection()方法可以求两个集合的交集.

set1.intersection(set2)

或者使用&运算符.

set1&set2

使用intersection_update()方法可以更新集合, 使其只包含交集元素.

set1.intersection_update(set2)

其中的set2可以是多个集合, 也可以是空集合.

使用isdisjoint()方法可以判断两个集合是否有交集.

set1.isdisjoint(set2)

如果两个集合没有交集, 则返回True, 否则返回False.

3.并集(union):

使用union()方法可以求两个集合的并集.

set1.union(set2)

或者使用|运算符.

set1|set2

使用update()方法可以更新集合, 使其包含两个集合的并集.

set1.update(set2)

或者使用|=运算符.

set1|=set2

4.差集(difference):

使用difference()方法可以求两个集合的差集.

set1.difference(set2)

或者使用-运算符.

set1-set2

使用difference_update()方法可以更新集合, 使其只包含差集元素.

set1.difference_update(set2)

其中的set2可以是多个集合, 也可以是空集合.

5.对称差集(symmetric_difference):

使用symmetric_difference()方法可以求两个集合的对称差集(即两个集合中不同元素的集合).

set1.symmetric_difference(set2)

或者使用^运算符.

set1^set2

6.子集(subset):

使用issubset()方法可以判断一个集合是否是另一个集合的子集.

set1.issubset(set2)

如果set1是set2的子集, 则返回True, 否则返回False.

或者使用<=运算符.

set1<=set2

7.超集(superset):

使用issuperset()方法可以判断一个集合是否是另一个集合的超集(即另一个集合包含了该集合的全部元素).

如果set1是set2的超集, 则返回True, 否则返回False.

set1.issuperset(set2)

或者使用>=运算符.

set1>=set2

适用集合的基本函数操作

  • len()函数: len()函数可以计算集合中元素的个数.
len(set_name)
  • max()函数: max()函数可以计算集合中元素的最大值.
max(set_name)
  • min()函数: min()函数可以计算集合中元素的最小值.
min(set_name)
  • sum()函数: sum()函数可以计算集合中元素的和.
sum(set_name)
  • any()函数: any()函数可以判断集合中是否有元素.
any(set_name)
  • all()函数: all()函数可以判断集合中所有元素是否都为True.
all(set_name)
  • sorted()函数: sorted()函数可以对集合进行排序.
sorted(set_name, reverse=False)#默认升序排序
  • reversed()函数: reversed()函数可以反转集合.
reversed(set_name)
本文为2305拾柒原创.
文章作者:拾 柒
文章链接:Python |11—集合(Set)
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议. 转载请注明来自拾 柒
如果觉得有用,可以分享出去~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇