python(三)set集合
set集合的特点是无序、不重复序列
创建集合:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
a.s1 = {11,22}b.s2 = set()c.s3 = set([11,22,33,44])s = set() #创建空集合li = [11,22,11,22]s2 = set(li)print(s2){11, 22}se = {"123","456"}li = [ ]list((11,22,33,44))原理:当执行list()时,内部会调用list __init__,内部执行for循环(11,22,33,44) [11,22,33,44]#只要类()这样的形式,就会去调用__init__的方法。 |
操作集合:
|
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
s = set()s.add(123) #添加元素s.add(123)s.add(123)print(s) s.clear() #清空内容s.copy() #浅拷贝s1 = {11,22,33}s2 = {22,33,44}s3 = s1.difference(s2) #a中存在,b中不存在的 s1中存在,s2中不存在s4 = s2.difference(s1) #s2中存在,s1中不存在# s3 = s1.symmetric_difference(s2) #a中存在b中不存在,b中存在a中不存在的拿出来。# print(s3)# s1.difference_update(s2) #把a(s1)中存在,b(s2)中不存在的值更新到a中。如果以后还会用到s1,就不要用此方法,如果确定以后不会再用# s1了就可以直接用这个方法。这样的好处是减少变量的声明。# print(s1)# s1.discard(11) #移除指定元素,如果元素不存在则不报错# s1.remove(1111) #移除指定元素,如果元素不存在则报错# s1.pop() #随机移除一个s1中的元素,因为集合是无序的,所以移除元素是不确定的。移除的# 时候会返回移除的元素的值。# pop方法演示:s1 = {11,22,33}ret = s1.pop()print(ret)33# s1 = {11,22,33}# s2 = {22,33,44}# s3 = s1.intersection(s2) #取s1和s2的交集,就是两个集合都有的元素# print(s3)# {33, 22}# s1.intersection_update(s2) #同样与difference_update类似,把两个集合的交集元素更新到s1中# print(s1)# s3 = s1.union(s2) #把两个集合合起来,去并集。如s1和s2,结果就是11,22,33,44# print(s3)# {33, 22, 11, 44}s1 = {11,22,33}s1.update([55,66,777]) #接收一个可迭代的对象,内部会自己去循环这个对象,然后把元素# 更新到集合中。相当于批量添加print(s1){33, 66, 777, 11, 22, 55}s1.update("abcdefg") #字符串也是可迭代的,会把每个字符分开,更新到集合中print(s1) |
|
1
2
3
4
5
6
7
8
9
10
11
|
old_dict = { "#1": 8, "#2": 4, "#4": 2,}new_dict = { "#1": 4, "#2": 4, "#3": 2,} |
|
1
2
3
|
del_set = set(old_dict).difference(set(new_dict)) #取出需要删除的槽位{'#4'}add_set = set(new_dict).difference(set(old_dict)) #取出需要添加的槽位{'#3'}update_set = set(new_dict).intersection(set(old_dict)) #取出需要更新的槽位{'#2', '#1'} |
python(三)set集合的更多相关文章
- Python之路(第五篇) Python基本数据类型集合、格式化、函数
一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...
- Python的set集合详解
Python 还包含了一个数据类型 -- set (集合).集合是一个无序不重复元素的集.基本功能包括关系测试和消除重复元素.集合对象还支持 union(联合),intersection(交),dif ...
- Python基本数据类型集合、格式化、函数
一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...
- Python - 三大器 迭代器,生层器,装饰器
目录 Python - 三大器 迭代器,生层器,装饰器 一. 容器 二. 可迭代对象(iterable) 三. 迭代器 四. 生成器 五. 装饰器 1. 定义 六. 闭包 Python - 三大器 迭 ...
- Python列表、集合与字典(3)
目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识 列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系. 在Pytho ...
- python基本数据类型集合set操作
转:https://www.cnblogs.com/tina-python/p/5468495.html 一.集合的定义 set集合,是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值 ...
- python基础数据类型--集合(set)
python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...
- JAVA:三种集合LIST、SET、MAP
1. 集合框架介绍 我 们知道,计算机的优势在于处理大量的数据,在编程开发中,为处理大量的数据,必须具备相应的存储结构,数组可以用来存储并处理大量类型相同的数 据,但是会发现数组在应用中的限制:数组长 ...
- python爬虫工具集合
python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...
随机推荐
- Java数据库连接池
转载过来的,最近在做一个小网站,准备使用这种方法. Java jdbc数据库连接池总结! 1. 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及, ...
- C++8002011752鸡兔同笼
难度级别: A: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外) ...
- html5:地理信息 LBS基于地理的服务和百度地图API的使用
地理位置请求 单次定位请求getCurrentPosition(请求成功函数,请求失败函数,数据收集方式) 多次定位请求watchPosition(请求成功函数,请求失败函数,数据收集方式) 关闭更新 ...
- 多个git账号的配置
问题描述: 作为开发人员,普遍有多个git账号,例如,公司邮箱对应的公司仓储账号和私人邮箱对应的github账号.在一台电脑上使用两个账号基于ssh协议拉代码,如果不进行额外设置,往往只有一个账号可以 ...
- Range
欢迎转载,转载请注明出处,徽沪一郎. 概要 Scala中Range可以看成是List的特例,Range的包含的元素类型是Int, 本文介绍如何创建Range Range创建 方法一: val r1 = ...
- PHP数据运算优先级总结记忆
运算符优先级
- Android 网络通信框架Volley简介
1.1. Volley引入的背景在以前,我们可能面临如下很多麻烦的问题. 比如以前从网上下载图片的步骤可能是这样的流程: 在ListAdapter#getView()里开始图像的读取. 通过Async ...
- zepto源码--核心方法2(class相关)--学习笔记
继续上篇,本片主要介绍的是$.fn中与class相关的函数,包括hasClass, addClass, removeClass, toggleClass hasClass: 检查对象集合中是否有元素含 ...
- FPGA学习笔记之格雷码、边沿检测、门控时钟
一.格雷码 格雷码的优点主要是进位时只有一位跳变,误码率低. 1.二进制转格雷码 我们观察下表: 二进制码 格雷码 00 00 01 01 10 11 11 10 二进制码表示为B[],格雷码表示为G ...
- js展开一颗树
Tree View 指令不支持 树结构数据源, 只支持单层数组.(也许是我没发现,人家可以设置) .我只能把树展开,变成单层数组.然后还要记录已经递归到第一层了.比如这样. <!doctype ...