极客挖掘机 · 2019年11月05日

小白学 Python(14):基础数据结构(集合)(上)

人生苦短,我选Python

前文传送门

小白学 Python(1):开篇

小白学 Python(2):基础数据类型(上)

小白学 Python(3):基础数据类型(下)

小白学 Python(4):变量基础操作

小白学 Python(5):基础运算符(上)

小白学 Python(6):基础运算符(下)

小白学 Python(7):基础流程控制(上)

小白学 Python(8):基础流程控制(下)

小白学 Python(9):基础数据结构(列表)(上)

小白学 Python(10):基础数据结构(列表)(下)

小白学 Python(11):基础数据结构(元组)

小白学 Python(12):基础数据结构(字典)(上)

小白学 Python(13):基础数据结构(字典)(下)

集合

首先了解一下什么是集合?

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

注意关键词:无序、不重复。

集合和字典一样,是无序的,so:

{3, 2, 1} 和 {1, 2, 3} 是一样的。

集合的元素不可重复,so:

{1, 2, 2} 是不存在的,只会存在 {1, 2}。

集合里的元素需要是不可变类型。

创建集合

一般来讲,我们创建集合会使用大括号 {} 或者 set() 函数来创建集合。

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

# 演示集合不可变元素
set1 = {1, 2, 3, 'Python', (1, 'geekdigging')}
print(set1)
print(type(set1))

# 演示不可重复
set2 = {1, 2, 2}
print(set2)

# 演示空集合
set3 = set()
print(set3)
print(type(set3))

结果如下:

{1, 2, 3, (1, 'geekdigging'), 'Python'}
<class 'set'>
{1, 2}
set()
<class 'set'>

使用列表 list 创建集合

除了上面的直接创建集合外,我们还可以通过列表 list 来直接创建集合,并且这种方式可以直接去重。

# 使用 list 创建集合
list1 = [1, 1, 2, 2, 3, 4]
set4 = set(list1)
print(set4)

结果如下:

{1, 2, 3, 4}

使用元组 tuple 创建集合

我们还可以通过元组 tuple 来创建集合,同样可达到元素去重的效果。

# 使用 tuple 创建集合
tup1 = (1, 1, 2, 2, 3, 4)
set5 = set(tup1)
print(set5)

结果如下:

{1, 2, 3, 4}

使用字符串创建集合

# 使用字符串创建集合
str1 = 'geekdigging'
set6 = set(str1)
print(set6)

结果如下:

{'i', 'n', 'g', 'e', 'd', 'k'}

可以看到,这里是字符串的每一个字符都变成了集合中的一个元素。

本篇内容比较少,希望各位同学还是可以自己动手敲一下示例代码,俗话说的好,好记性不如烂键盘,如果不把一块键盘敲烂,那么你的代码是学不好的:)

示例代码

本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。

示例代码-Github

示例代码-Gitee

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息