导航:首页 > 编程语言 > 空集合定义python

空集合定义python

发布时间:2024-08-08 21:50:57

‘壹’ python 简明教程 ---13,Python 集合

目录

前几节我们已经介绍了Python 中的 列表list , 元组tuple 和 字典dict ,本节来介绍Python 中的最后一种数据结构—— 集合set 。

Python 中的 set 与 dict 很像,唯一的不同是, dict 中保存的是 键值对 ,而 set 中只保存 键 ,没有 值 。

Python 集合 有如下特点:

Python 集合的声明有两种方式:

创建 空集合 时,只能用 set() ,而不能用 {} :

创建 非空集合 时,可以用 set() ,也可以用 {} :

由于集合中的元素是唯一的,如果初始化时的 可迭代 数据中有重复的元素,则会自动删去重复的元素:

使用 len() 函数可以查看集合中元素的个数:

由于Python 集合中的元素的是无序的,所以可不能使用 下标 的方式来访问集合中的单个元素。

我们可以使用 for 循环 来遍历集合中的所有元素:

我们可以对两个集合进行如下运算:

交集与并集

in 运算

使用 dir(set) 查看集合支持的所有方法:

下面一一介绍这些 非魔法方法 ,共17 个。

1. add 方法

由于集合中的元素是唯一的,向集合中添加元素时有两种情况:

示例:

2. remove 方法

示例:

3. discard 方法

示例:

4. pop 方法

示例:

5. union 方法

示例:

6. update 方法

示例:

7. clear 方法

示例:

8. 方法

示例:

9. difference 方法

示例:

10. difference_update 方法

示例:

11. intersection 方法

示例:

12. intersection_update 方法

示例:

13. isdisjoint 方法

示例:

14. issubset 方法

示例:

15. issuperset 方法

示例:

16. symmetric_difference 方法

示例:

17. symmetric_difference_update 方法

示例:

(完。)

推荐阅读:

Python 简明教程 --- 8,Python 字符串函数
Python 简明教程 --- 9,Python 编码
Python 简明教程 ---10,Python 列表
Python 简明教程 ---11,Python 元组
Python 简明教程 ---12,Python 字典

‘贰’ python中空集合是怎么表示的也请详细的说下集合的用法!谢谢

集合就是s=set(),s是随意的字母,下面是集合的用法
len(s)

set 的长度

x in s

测试 x 是否是 s 的成员

x not in s

测试 x 是否不是 s 的成员

s.issubset(t)
s <= t
测试是否 s 中的每一个元素都在 t 中

s.issuperset(t)
s >= t
测试是否 t 中的每一个元素都在 s 中

s.union(t)
s | t
返回一个新的 set 包含 s 和 t 中的每一个元素

s.intersection(t)
s & t
返回一个新的 set 包含 s 和 t 中的公共元素

s.difference(t)
s - t
返回一个新的 set 包含 s 中有但是 t 中没有的元素

s.symmetric_difference(t)
s ^ t
返回一个新的 set 包含 s 和 t 中不重复的元素
s.update(t)
s |= t
返回增加了 set “t”中元素后的 set “s”

s.intersection_update(t)
s &= t
返回只保留含有 set “t”中元素的 set “s”

s.difference_update(t)
s -= t
返回删除了 set “t”中含有的元素后的 set “s”

s.symmetric_difference_update(t)
s ^= t
返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s”

s.add(x)

向 set “s”中增加元素 x

s.remove(x)

从 set “s”中删除元素 x, 如果不存在则引发 KeyError

s.discard(x)

如果在 set “s”中存在元素 x, 则删除

s.pop()

删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发 KeyError

s.clear()

删除 set “s”中的所有元素

‘叁’ python中集合的特点和注意点

集合的特点:
1.不同元素组成(元素不能重复百)
2.无序(集合元素的顺序和定义、添加的顺序不一致)
3.集合中的元素必度须是不可变类型
集合的注意点:
1.定义一个集合,如果直接写my_set
=
{},不添加数据,python解释器会把my_set作为字典处理版
2.可以在集合中做添加相同元素的操作,但是集合只存储一个
如果想深入了解可以搜索黑马权程序员视频库,里面有很多免费的软件测试教程

‘肆’ python集合元素重不重复

不重复!!!

集合定义:

集合set,是一个无序的不重复元素序列。

创建:

可以使用大括号{}或者set()函数创建集合。

注意:创建一个空集合必察历携须用set()而不是{},因为{}是用来创建一个空字典。

格式:败伏

parame = {value01,value02,…}

或者

set(value)

举例:

jihe = {1,2,3,4,5}

#与字典看上去类似烂液,但是是不一样的。字典是dict1 = {key:value,key2:value2,}需要key

添加元素:

使用set.add()方法

例:

set1 = {1,3}

set1.add(2)print(set1)

‘伍’ python集合

*事先说明:以下代码及结果来自本设备Python控制台,在不同设备上可能结果有区别,望自己尝试为妙


集合(set),是一种Python里的(class),

集合类似于列表(list)可更改可迭代(iterable),但是元素不重复

定义集合使用花括号{},例如

>>> s = {"apple", "banana", "strawberry", "watermelon"}

警告!!!如果使用空括号

>>> a = {}

>>> a.__class__

<class 'dict'>

a将成为一个字典

想要定义空集合,

请使用类名。

>>> a = set()

类名定义也可以把迭代转换为集合:

>>> b = set("abc")

>>> b

{'a', 'b', 'c'}

但是,保存后它是无序的。

>>> s

{'banana', 'watermelon', 'strawberry', 'apple'}

(结果仅供参考,在不同设备上略有不同)

下面介绍它的性质:

1. 可更改:

>>> s.add("lemon")

>>> s

{'banana', 'strawberry', 'lemon', 'watermelon', 'apple'}


>>> s.update(("orange", "grape"))

>>> s

{'banana', 'strawberry', 'orange', 'lemon', 'watermelon', 'apple', 'grape'}

警告!!!如果使用字符串,字符串也会被迭代:

>>> a = set()

>>> a.update("apple")

>>> a

{'a', 'p', 'e', 'l'}


>>> s.remove("lemon")

>>> s

{'banana', 'strawberry', 'orange', 'watermelon', 'apple', 'grape'}

>>> s.remove("cat")

Traceback (most recent call last):

File "<stdin>", line 1, in <mole>

s.remove("cat")

KeyError: 'cat'


>>> s.discard("grape")

>>> s

{'banana', 'strawberry', 'orange', 'watermelon', 'apple'}

>>> s.discard("dog")

>>> s

{'banana', 'strawberry', 'orange', 'watermelon', 'apple'}

2. 可迭代:

>>> for x in s:

... print(x)


banana

strawberry

orange

watermelon

apple


3. 可以使用 len 函数获取集合长度;

>>> len(s)

5

可以使用in关键字检查一个元素是否在集合内,将返回逻辑值(bool)

>>> "apple" in s

True

>>> "candy" in s

False

4.集合具有不重复性,因此它会自动去重:

>>> c = set("Hello World!")

>>> c

{' ', 'e', 'l', 'H', '!', 'r', 'W', 'o', 'd'}

5. 集合的运算

>>> d = set("abcdef")

>>> e = set("efghij")

>>> d

{'c', 'e', 'a', 'b', 'f', 'd'}

>>> e

{'h', 'e', 'g', 'j', 'f', 'i'}

>>> d - e # 集合d去掉集合e含有的元素,或者说集合d包含而集合e不包含的元素(不改变原集合)

{'a', 'b', 'd', 'c'}

>>> d | e # 集合d,e的所有元素

{'c', 'e', 'h', 'g', 'a', 'b', 'j', 'f', 'd', 'i'}

>>> d & e # 集合d,e都包含的元素

{'f', 'e'}

>>> d ^ e # 不同时出现在集合d, e中的元素

{'c', 'g', 'h', 'a', 'b', 'j', 'd', 'i'}

注意!!!

字符串、列表通用的+和*不适用于集合

>>> "abc" + "def"

'abcdef'

>>> [1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

>>> d + e

Traceback (most recent call last):

File "<stdin>", line 1, in <mole>

d + e

TypeError: unsupported operand type(s) for +: 'set' and 'set'

>>> "a" * 5

'aaaaa'

>>> [1] * 3

[1, 1, 1]

>>> d*3

Traceback (most recent call last):

File "<stdin>", line 1, in <mole>

d * 2

TypeError: unsupported operand type(s) for *: 'set' and 'int'

(作者的小观点:既然集合是不能重复的,那么乘以、重复是没有意义的)

阅读全文

与空集合定义python相关的资料

热点内容
编程原则自上而下单元 浏览:553
云计算服务器贵州云空间 浏览:33
登录服务器login输入什么 浏览:880
三点指标公式源码 浏览:544
黑马程序员fetch教程 浏览:442
不用编程的游戏引擎 浏览:533
点菜pdf 浏览:82
圣经pdf下载 浏览:291
如何打印到pdf文件 浏览:557
石碣CNC编程 浏览:553
程序员那么可爱31集上中下完整版 浏览:819
有什么动漫app是可以免费看的 浏览:143
程序员语言有多少种 浏览:198
linux系统对硬盘分区 浏览:267
php7性能优化总结 浏览:820
pdf文本格式转换器 浏览:116
androidmap排序 浏览:450
php类型自动 浏览:213
一键apk反编译提取视频文件 浏览:981
linuxshell释放缓存命令 浏览:72