Python9-集合-day7
集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。
以下是集合最重要的两点:
去重,把一个列表变成集合,就自动去重了。
关系测试,测试两组数据之前的交集、差集、并集等关系。
创建集合
set1 = set([1,2,3])
print(set1)
set2 = {1,2,3,[2,3],{'name':'alex'}} #错的
print(set2)
增
set1 = {'alex','wusir','ritian','egon','barry'}
set1.add('tim')
print(set1) {'barry', 'tim', 'egon', 'alex', 'ritian', 'wusir'}
set1.update('abc')
print(set1) {'c', 'b', 'a', 'wusir', 'ritian', 'alex', 'egon', 'barry'}
删
set1.pop() #随机删除,有返回值
print(set1) {'wusir', 'ritian', 'alex', 'barry'}
set1.remove('alex') #按元素删除
print(set1) {'ritian', 'barry', 'wusir', 'egon'}
set1.clear() #清空列表
print(set1) set()
del set1 #删除整个集合
print(set1) print(set1)
NameError: name 'set1' is not defined
循环
for i in set1:
print(i) wusir
alex
egon
ritian
barry
求交集
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 & set2) # {4, 5}
print(set1.intersection(set2)) # {4, 5} {4, 5}
{4, 5}
并集
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7,8}
print(set2.union(set1)) # {1, 2, 3, 4, 5, 6, 7,8} {1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
#反交集
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2) # {1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8} {1, 2, 3, 6, 7, 8}
{1, 2, 3, 6, 7, 8}
#差集
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2) # {1, 2, 3} set1独有的
print(set2 - set1) # {6, 7, 8} set2独有的
print(set1.difference(set2)) # {1, 2, 3} {1, 2, 3}
{8, 6, 7}
{1, 2, 3}
子集与超集
set1 = {1,2,3}
set2 = {1,2,3,4,5,6} print(set1 < set2)
print(set1.issubset(set2)) # 这两个相同,都是说明set1是set2子集。 print(set2 > set1)
print(set2.issuperset(set1)) # 这两个相同,都是说明set2是set1超集。 True
True
True
True
列表和集合转换和去重
li = {1,23,44,44,1,4,5,6,6}
set1 = set(li)
print(set1)
li = list(set1)
print(li) {1, 4, 5, 6, 23, 44}
[1, 4, 5, 6, 23, 44]
集合变成不可变类型
s = frozenset('barry') #frozenset不可变集合,让集合变成不可变类型
print(s,type(s)) # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>
循环
s = frozenset('barry')
for i in s:
print(i) a
y
b
r
Python9-集合-day7的更多相关文章
- python 全栈开发,Day7(元组转换,列表以及字典的坑,集合,关系测试,深浅copy,编码补充)
一.元组转换 数字 tu = (1) tu1 = (1,) print(tu,type(tu)) print(tu1,type(tu1)) 执行输出: 1 <class 'int'>(1, ...
- Python基础学习Day7 基础数据类型的扩展 集合 深浅copy
一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk' ...
- python day- 7 进本数据类型的先关知识点 set集合 深浅拷贝
一.基本数据类型相关知识 1.str. join()函数 关于字符串 a = "我爱北京" b = a.join("真的") 将&q ...
- day7 基础数据类型&集合&深浅拷贝
基础数据类型汇总: #!/usr/bin/env python # -*- coding:utf-8 -*- ''' str int ''' # str s = ' a' print(s.isspac ...
- Python之路,Day7 - Python基础7 面向对象
本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...
- Alpha冲刺集合
Alpha冲刺集合 Day1 http://www.cnblogs.com/bugLoser/p/7901016.html Day2 http://www.cnblogs.com/bugLoser/p ...
- Alpha阶段敏捷冲刺日志的集合贴
敏捷冲刺日志的集合贴 Day1(4.17):http://www.cnblogs.com/software-teamwork/p/8861426.html Day2(4.20):http://www. ...
- 10.23 正睿停课训练 Day7
目录 2018.10.23 正睿停课训练 Day7 A 矩形(组合) B 翻转(思路) C 求和(思路 三元环计数) 考试代码 B1 B2 C 2018.10.23 正睿停课训练 Day7 期望得分: ...
- day 7 -10 集合,文本、文件操作,函数
day7 一.回顾 1.列表和字典在循环里边尽量不要删除元素,很麻烦 2.元组:如果元组里边只有一个逗号,且不加逗号,次元素是什么类型,就是什么类型. 二.集合 ''' 集合:可变的数据类型,它里边的 ...
- Python学习记录day7
目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...
随机推荐
- UWP Popup 弹出提示框
一:需求 做一个类似于安卓的弹出消息框,如图.当用户点击下载或者选择时,能够从底部弹出一个提示框,用于提示用户. 二:Popup 类 不需要我们自己额外去写一个弹窗类,微软自己有一个Popup 弹窗类 ...
- HDU4405(期望dp)
标准期望套路,很水.读题看好是到n就可以停止了. ; int n, m; db dp[maxn]; map<int, int> mp; int main() { while (~scanf ...
- Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) A
Vasily has a number a, which he wants to turn into a number b. For this purpose, he can do two types ...
- Guard Duty (hard) Codeforces - 958E3 || uva 1411
https://codeforces.com/contest/958/problem/E3 当没有三点共线时,任意一个这样的点集都是保证可以找到答案的,(考虑任意一种有相交的连线方案,一定可以将其中两 ...
- Eclipse Mars.2集成Maven 3.5.4
准备材料: Eclipse Mars.2 Release (4.5.2): 官网戳:https://www.eclipse.org/downloads/ Maven 3.5.4: http://ma ...
- WORD操作的问题
最近有个小项目主要是对文档,特别是WORD的操作,读取表格数据存到数据库: 再把数据库的数据读出来写入WORD,下载下来,诸如此类的东西,说来很是简单. 想了想是用什么开发呢? C#常用的,没话说,也 ...
- Sass基本特性
Sass扩展/继承@extend 代码的继承,声明方式:.class;调用方式:@extend 如: .btn { border: 1px solid #ccc; padding: 6px 10px; ...
- table表格字母无法换行
在项目中,用到的table比较多,本来布局挺好的,后来在td内写入英文字母,整个布局就乱了,会撑的很宽,不换行,后来才知道:一般字母的话会被浏览器默认是一个字符串或者说一个单词,所以不会自动换行. 于 ...
- python-mysql软件下载地址
http://sourceforge.net/projects/mysql-python/?source=dlp
- Grace Huang 2017/1/12
原文 Huang doesn't think of acting as pretending to be someone else.Rather,she considers it an opportu ...