Python第五章-内置数据结构05-集合
Python内置数据结构
五、集合(set)
python 还提供了另外一种数据类型:set。
set用于包含一组无序的不重复对象。所以set中的元素有点像dict的key。这是set与 list的最大区别
set基本应用有元素测试、去除list、tuple中的重复元素。
set也支持一些数学操作,像:并集(union)、交集(intersection)、差集(difference)、对称差集(symmetric difference)。
set集合创建方式一般有 2 种:字面量方式和把list、tuple、str等转换成set
5.1 set集合的创建
5.1.1 字面量方式创建set集合
字面量方式创建set集合和字面量dict有点像,都是使用的{}来包裹, 只不过set中不是键值对而已。
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)
set中不能存储重复元素

5.1.2 把list中的元素存入到set
使用set构造函数支持把list中的元素直接存入到新创建的set中。
nums1 = [10, 20, 30, 20, 10, 100, 200, 100]
nums2 = set(nums1)
print(nums2)

重复元素也去除成功了!
5.1.3 把字符串中的每个字符作为一个元素存入到set
s = "hello world, I love you"
cs = set(s)
print(cs)

你会发现重复字符已经去除完毕了。
注意:
创建空的set不能直接使用字面量的形式{},这样创建的是空的字典。只能使用set构造函数。
s = {}
print(type(s) is dict)
s = set()
print(type(s) is dict)

5.2 set常用操作
5.2.1支持in和not in
nums1 = {10, 20, 30, 20, 10, 100, 200, 100}
print(10 in nums1) # True
print(20 not in nums1) # False
5.2.2 数学操作
set也支持一些数学操作,像:并集(union)、交集(intersection)、差集(difference)、对称差集(symmetric difference)。
a = set("abcde")
b = set("defghi")
print("a:" + str(a))
print("b:" + str(b))
print("a - b 差集: " + str(a - b)) # 差集 a 中有,但是 b 中没有
print("a | b 并集: " + str(a | b)) # 并集 a 和 b 的元素全部都有 当然不会重复
print("a & b 交集: " + str(a & b)) # 交集 a 和 b 共同有的元素
print("a ^ b 对称差集: " + str(a ^ b)) # 对称差集 a 有或者 b 有,但是不是他们都有

5.2.3 set推导
同list推导一样,set也支持set推导
a = {x for x in 'abracadabra' if x not in 'abc'}
print(a)

5.2.4 在集合中添加新项
s = set("hello")
s.add("z") # 添加一项
print(s)
s.update(["x", "y"]) # 添加多项
s.update("mn") # 添加多项
print(s)

Python第五章-内置数据结构05-集合的更多相关文章
- Python第五章-内置数据结构01-字符串
Python 内置的数据结构 到目前为止,我们如果想保存一些数据,只能通过变量.但是如果遇到较多的数据要保存,这个时候时候用变量就变的不太现实. 我们需要能够保存大量数据的类似变量的东东,这种 ...
- Python第五章-内置数据结构02-列表
Python 内置的数据结构 二.列表(list) 想一想: 前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢? 定义100个变量,每个变量存放一个学生的姓名可行吗?有 ...
- Python第五章-内置数据结构04-字典
Python 内置的数据结构 四.字典(dict) 字典也是 python 提供给我们的又一个非常重要且有用的数据结构. 字典在别的语言中有时叫关联数组.关联内存.Map等. 字典中存储的是一系列的k ...
- Python第五章-内置数据结构03-元组
Python 内置的数据结构 三.元组(tuple) python 作为一个发展中的语言,也提供了其他的一些数据类型. tuple也是 python 中一个标准的序列类型. 他的一些操作和str和li ...
- Python的4个内置数据结构
Python提供了4个内置数据结构(内置指可以直接使用,无需先导入),可以保存任何对象集合,分别是列表.元组.字典和集合. 一.列表有序的可变对象集合. 1.列表的创建例子 list1 = []lis ...
- python的四种内置数据结构
对于每种编程语言一般都会规定一些容器来保存某些数据,就像java的集合和数组一样python也同样有这样的结构 而对于python他有四个这样的内置容器来存储数据,他们都是python语言的一部分可以 ...
- [PY3]——内置数据结构(6)——集合及其常用操作
集合及其常用操作Xmind图 集合的定义 # set( ) # {0,1,2} //注意不能用空的大括号来定义集合 # set(可迭代对象) In [1]: s=set();type ...
- Python的内置数据结构
Python内置数据结构一共有6类: 数字 字符串 列表 元组 字典 文件 一.数字 数字类型就没什么好说的了,大家自行理解 二.字符串 1.字符串的特性(重要): 序列化特性:字符串具有一个很重要的 ...
- python面试总结4(算法与内置数据结构)
算法与内置数据结构 常用算法和数据结构 sorted dict/list/set/tuple 分析时间/空间复杂度 实现常见数据结构和算法 数据结构/算法 语言内置 内置库 线性结构 list(列表) ...
随机推荐
- iOS多线程之Thread
多线程 • Thread 是苹果官方提供的,简单已用,可以直接操作线程对象.不过需要程序员自己管理线程的生命周期,主要是创建那部分 优缺点 面向对象,简单易用 直接操作线程对象 需要自己管理线程生命周 ...
- 【最简单的vim教程】vim学习笔记-基础操作
说明 C-字母 = Ctrl + 字母 char = 任意字符 开始编辑 insert 按键 功能 说明 i(I) insert 当前位置插入(当前行前) a(A) append 当前字符后面插入(当 ...
- Python——13定制类
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 前端每日实战:102# 视频演示如何用纯 CSS 创作一个小和尚
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/oMmYXp 可交互视频 此视频是可 ...
- .Net 特性分析与妙用
一.特性是什么 1.想象很多小伙伴们都看过在一个类上方.或者在控制器见过类似的东东,加上之后就可以标识这个类或者方法就具备了某些特点 ,那我们就进入它的内心一探究竟吧. 2.我们进入某个特性之后,可以 ...
- Java基础篇(02):特殊的String类,和相关扩展API
本文源码:GitHub·点这里 || GitEE·点这里 一.String类简介 1.基础简介 字符串是一个特殊的数据类型,属于引用类型.String类在Java中使用关键字final修饰,所以这个类 ...
- 无刷新上传图片,ajax 和 iframe
iframe 上传 upload.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...
- Ansible-免密登录与主机清单Inventory
Ansible的指定用户与密码登录.免密登录.指定ssh端口以及主机清单Inventory配置 在实际使用中并不需要对ansible配置进行修改,或者说只有需要的时候才修改ansible配置. 添加用 ...
- 使用.Net Core编写命令行工具(CLI)
命令行工具(CLI) 命令行工具(CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行. 通常认为,命令行工具(CLI)没有 ...
- 龙叔拿了20几个offer,原因竟有些泪目...
我是龙叔,一个分享互联网技术和心路历程的大叔. 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles ...