python基础08_set集合
关于前几次课的回顾:
#!/usr/bin/env python
# coding:utf-8 ## 字符串 数字 列表 元组 字典 ## 可变:列表 字典
## 不可变:字符串, 数字, 元组 name = 'alex'
print(id(name)) name = 'ssb'
print(id(name)) # 修改变量的值 id 的变化证明是不可变类型 ## 访问顺序
# 直接访问:数字
# 顺序访问:字符串 列表 元组
# 映射: 字典 速度快,但占内存大 ## 存放元素个数:
# 容器类型:列表,元组,字典
# 原子:数字,字符串
开始学习set 集合
更多参考: https://www.cnblogs.com/jin-xin/p/7738630.html
#!/usr/bin/env python
# coding:utf-8
tmp1 = [] # 创建空列表 list
tmp2 = () # 创建空元组 tuple
tmp3= {} # 创建空字典 dict
tmp4= set() # 创建空集合 set s = {'ss',1,3,2,4,6,8,2,4}
print(s,type(s)) # 注意和字典的区别 字典是KV对,集合只有V
# 集合是无序的 这个特点可以用来给list去重
# 不同元素组成, 即没有相同元素
# 元素必须是不可变类型, 不能是list for i in s:
print(i) s1 = {(11,22,33,),44}
print(s1) s2 = set('hello') # 自动去重
print(s2) list1 = ['alex','ees','ddef','ees']
print(list1) s3 = set(list1)
print(s3) s.add('ddc') # 添加单个元素
s.add(8)
print(s) s3.clear() # 清空
print(s3) s4 = s.copy()
print(s4) s4.pop() # 随机删除一个元素 而列表list则是默认删除最后一个
tmp = s4.pop() # 也可将删除的一个元素赋给变量
print(tmp) # 得到删除的那个值 print(s4) s.remove('ddc') # 指定删除
# s.remove('aaa') # 如果指定的没在,将出错
v = s.discard('aaa') # 如果指定的没在,删除不成功也不报错。
print(s) # 此外,set 还有 update 等方法.
关于set的交差并补
#!/usr/bin/env python
# coding:utf-8 lis1 = ['tom', 'jerry', 'andy', 'anna']
lis2 = ['kathy', 'jerry', 'andy', 'joe'] s1 = set(lis1)
s2 = set(lis2) # 求交集 (共有的部分)
print(s1, s2)
print(s1.intersection(s2))
print(s1 & s2) # 求并集 (合并且去重)
print(s1.union(s2))
print(s1 | s2) # 求差集 (减去s1中有s2的部分,得到剩余的)
print(s1.difference(s2))
print("s1剩下:", s1 - s2)
print("s2剩下:", s2 - s1) # 求交差补集 (去掉共有的,留下各自私有的)
print('交叉补集', s1.symmetric_difference(s2))
print('交叉补集', s1 ^ s2) # 某些方法
print(s1-s2)
s1.difference_update(s2) # 等于s1 - s2后再赋给s1
print(s1) # 判断有无交集
print(s1.isdisjoint(s2)) s3 = {1,2,3,4,5}
s4 = {1,2,3,5}
s5 = {11,22,33} print(s4.issubset(s3)) # 判断是否子集
print(s3.issuperset(s4)) # 判断s3 是否父集
s3.add(6) # 每次只能添加一个值
print(s3)
s3.update(s5) # 单次可以更新多个值
s3.update(['aa','bb']) # 传列表
s3.update(('cc','dd')) # 传元组
print(s3) # 如果不考虑顺序,可以用set给列表去重
ls = ['abc','fff','abc','dde']
ls = list(set(ls))
print(ls) ######### 特殊: 不可改变的 set
s = frozenset('hello') # 将不能添加、删除、修改
print(s)
python基础08_set集合的更多相关文章
- python基础数据类型--集合(set)
python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...
- Python基础(三)——集合、有序 无序列表、函数、文件操作
1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...
- python 基础 set 集合类型补充
为啥今天又重提这个数据类型呢?平时用的少,等要用起来的时候才发现,自己对这块啥都不知道了,so,今天就把这块再梳理一下咯. 一.set集合,是一个无序且不重复的元素集合.这一点是非常重要的. 二.集合 ...
- python基础七--集合
12.221.昨日内容回顾 小数据池: int:-5--256 str:1.不能有特殊字符 2.*int不能超过20 编码:所能看到的最小构成单位叫字符 ascii : 8位 1字节 表示1个字符 u ...
- Python基础入门-集合
今天给大家分享的是python中集合(set)的概念,集合这个词其实和高中学的数学集合的概念很相近,或者作为初学者你就可以把它理解为数学当中的集合.在python中集合(set)是由一个个键组成的,但 ...
- python基础——数字&集合&布尔类型
Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...
- Python基础-set集合操作
set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- Python基础操作-集合
在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...
随机推荐
- 【Spark-core学习之六】 Spark资源调度和任务调度
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- 线程同步——lock锁
线程同步即解决线程安全问题的第三种方式——使用lock锁 代码实现: 其中,ReentrantLock是lock接口的实现类,这边是使用多态创建,访问成员方法时,编译看左,运行看右: Reentran ...
- eclipse无法断点调试JDK源码的问题
最近换了新版的eclipse,在jdk源码里面,打断点发现无法进入源码调试,程序直接跳过,已查资料发现自己eclipse配置的是jre环境的. 此处要配成jdk目录才有效 打开preferences, ...
- json-server基本使用
**一.前后端并行开发的痛点** 前端需要等待后端开发完接口以后 再根据接口来完成前端的业务逻辑 **二.解决方法** 在本地模拟后端接口用来测试前端效果 这种做法称之为构建前端Mock **三.js ...
- map的实际操作用并for_each遍历
#include<iostream> #include<map> #include<algorithm> #include<string> using ...
- LeetCode #002# Add Two Numbers(js描述)
索引 思路1:基本加法规则 思路2:移花接木法... 问题描述:https://leetcode.com/problems/add-two-numbers/ 思路1:基本加法规则 根据小学学的基本加法 ...
- Windows下应用级别的IIS负载均衡方案 Application Request Route
转载于:https://blog.csdn.net/2000killer/article/details/51228625 序言 随着公司业务的发展,后台业务就变的越来越多,然而服务器的故障又像月经一 ...
- iOS开发 -------- 图片浏览器初步
一 示例代码 // // RootViewController.m // 图片浏览器初步 // // Created by lovestarfish on 15/11/1. // Copyright ...
- 牛客练习赛43C Tachibana Kanade Loves Review
题目地址 Link 题解 虚点这种东西还是没有掌握好啊. 考虑建一个虚点,向已经学会的东西连一条边权为0的边,关系正常连边,单独学的从虚点连一条边过去. 然后做一遍最小生成树就得到答案了. 这题略卡常 ...
- vue 项目 使用sass
1,使用save会在package.json中自动添加. npm install node-sass --save-dev npm install sass-loader --save-dev 注: ...