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

人生苦短,我选Python
前文传送门
集合
首先了解一下什么是集合?
集合(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 上,方便大家取用。
小白学 Python(14):基础数据结构(集合)(上)的更多相关文章
- 小白学 Python(15):基础数据结构(集合)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(9):基础数据结构(列表)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(12):基础数据结构(字典)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(16):基础数据类型(函数)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(23):Excel 基础操作(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(5):基础运算符(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(2):基础数据类型(上)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...
- 小白学 Python(10):基础数据结构(列表)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(11):基础数据结构(元组)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- jquery 动态控制显隐
1.第1种方法 ,给元素设置style属性 $("#hidediv").css("display", "block"); 2.第2种方法 , ...
- navicat for mysql中使用模型?
登录进数据库后,点击模型--新建模型,如下 点击“小手”下面的图标----双击右边的空白处,即出现一个表格,可命名,此时我们命名为A 双击A表下空白处---即可设计A表属性,点确定.如下 同理,生成一 ...
- Spring IOC(3)----bean实例化
前面一节说到invokeBeanFactoryPostProcessors方法的调用来注册bean定义,这次来看看finishBeanFactoryInitialization这个方法实例化非懒加载的 ...
- Linux Shell 基础知识(二)
1.本文知识结构 2.文件的查询与检索 2.1. cd 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当 ...
- web前端之面试:自我介绍
面试官您好, 首先很感谢贵公司的面试邀请, 让我有这个幸运机会能来到这里和您交流 : 接下来我做一个简单的自我介绍: 我的姓名是 XX, 祖籍是XX, 年龄是24, 学校是 XXX, 专业是XXX: ...
- Python 爬虫(四):Selenium 框架
Selenium 是一个用于测试 Web 应用程序的框架,该框架测试直接在浏览器中运行,就像真实用户操作一样.它支持多种平台:Windows.Linux.Mac,支持多种语言:Python.Perl. ...
- 引入外部js
引入外部js应该使用完整标签<script></script>,而使用单标签<script src=“”/>是错误的
- maven web项目下mybatis generator的使用
idea中新建maven web项目,完善java,resources目录: pom.xml中添加jdbc依赖,mybatis generator的依赖和插件: <dependencies> ...
- SparkStreaming整合Flume的pull报错解决方案
先说下版本情况: Spark 2.4.3 Scala 2.11.12 Flume-1.6.0 Flume配置文件: simple-agent.sources = netcat-source simpl ...
- Flutter 的setState与FutureBuilder及EasyRefresh示例
用setState改变状态 class CpwsList extends StatefulWidget { _CpwsListState createState() => _CpwsListSt ...