Python学习笔记——集合
1. 定义
num = {}
print(type(num))
num2 = {1,2,3,4,5}
print(type(num2))
<class 'dict'>
<class 'set'>
集合的数据是唯一的
# 会自动去除重复数据
num2 = {1,2,3,4,5,5,3,2}
print(num2)
{1, 2, 3, 4, 5}
集合的数据是无序的
# 以下表达会报错
num2[2]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-87e68eb3c3c4> in <module>()
----> 1 num2[2]
TypeError: 'set' object does not support indexing
2. set()
# set函数可以传进一个列表、元组、字符串
set1 = set([1,2,3,4,5,5])
print(set1)
{1, 2, 3, 4, 5}
去除列表[0,1,2,3,4,5,5,3,1]中重复的元素
# 利用for循环
num3 = [1,2,3,4,5,5,3,1,0]
temp = []
for each in num3:
if each not in temp:
temp.append(each)
print(temp)
[1, 2, 3, 4, 5, 0]
# 利用set函数,但是要注意,使用set可能会改变元素在集合中的位置,如num3中的0
num3 = list(set(num3))
print(num3)
[0, 1, 2, 3, 4, 5]
3. 集合的相关操作
# in 和 not in
print(6 in set1)
print(6 not in set1)
False
True
# add() 和 remove()
set2 = set([1,2,3,4,5,5])
set2.add(6)
print(set2)
set2.remove(5)
print(set2)
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 6}
4. frozenset
# 定义一个不可变的集合,此时集合不可更改,否则会报错
set3 = frozenset([1,2,3,4,5])
set3.add(0)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-32-d6bbd56c6855> in <module>()
1 # 定义一个不可变的集合
2 set3 = frozenset([1,2,3,4,5])
----> 3 set3.add(0)
AttributeError: 'frozenset' object has no attribute 'add'
Python学习笔记——集合的更多相关文章
- Python学习笔记——集合类型
集合类型有两种不同的类型——可变集合(set)和不可变集合(frozenset) 可变集合不是可哈希的,不能用作字典的键,也不能用做其他集合中的元素 不可变集合是有哈希值的,能被用做字典的键或者是作为 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Python学习笔记(七)
Python学习笔记(七): 深浅拷贝 Set-集合 函数 1. 深浅拷贝 1. 浅拷贝-多层嵌套只拷贝第一层 a = [[1,2],3,4] b = a.copy() print(b) # 结果:[ ...
- Python学习笔记(八)
Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin ...
- 【python学习笔记】9.魔法方法、属性和迭代器
[python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...
- 【python学习笔记】5.条件、循环和其他语句
[python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块 impo ...
- Deep learning with Python 学习笔记(9)
神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...
随机推荐
- BZOJ 3065 带插入区间K小值 (替罪羊树套线段树)
毒瘤题.参考抄自博客:hzwer 第一次写替罪羊树,完全是照着题解写的,发现这玩意儿好强啊,不用旋转每次都重构还能nlognnlognnlogn. 还有外面二分和里面线段树的值域一样,那么r = mi ...
- [转载]作为理工科学生,我们为什么要练就好的文笔?我们需要发blog来记录学习历程?
文/JoeyChen 工程师该怎样才能突破自己的能力瓶颈?写 blog! 工程师该怎样精进自己在职涯上所需要的能力?写 blog! 工程师该怎样才能保持学习与成长的动能?写 blog! 工程师该怎样才 ...
- #define定义宏函数 的正确使用
如何使用宏来定义一个自定义函数呢?首先我们来看下面这段代码 #define SQUARE(x) x*x int main() { int a = 5; printf("SQUARE(a): ...
- 生产者和消费者之间的线程通讯wait()
生产者与消费者,采用notify()唤醒 package com.dwz.concurrency.chapter9; /** * 生产者和消费者之间的通信问题 * 执行wait()之后锁被释放 */ ...
- go面试
**1**.简述golang中make和new的区别 make用于内建类型(只能用于创建map.slice 和channel)的内存分配.并且返回一个有初始值(非零)的T类型,而不是*T. new用于 ...
- redis慢查询笔记
慢查询 生命周期 两个配置 三个命令 运维经验 生命周期 1.发送命令 2,排队执行命令因为单线程 3.执行命令 4.返回结果 慢查询发生在第三阶段 客户端超时并不一定有慢查询,但慢查询是客户端超时的 ...
- openwrt系统源码地址
https://dev.openwrt.org/wiki/GetSource http://www.openwrtdl.com/wordpress/openwrt-full-tutorial
- ARP输入 之 arp_rcv
概述 arp_rcv是ARP包的入口函数,ARP模块在二层注册了类型为ETH_P_ARP的数据包回调函数arp_rcv,当收到ARP包时,二层进行分发,调用arp_rcv: arp_rcv对ARP输入 ...
- Jinja2学习
模板: 知名模板引擎:jinja2(flask默认的模板引擎) Mako template模板路径: 1.在渲染模板的时候,会默认从根目录下的templates目录下查找模板文件 2.也可以自定义模板 ...
- Python中的变量、对象
由于没时间系统学习下Python 只能见一个问题探究一个问题了 一.初级 - 对象 关于Python中的数据类型,今天重新认识了下.[参考] 首先,Python中,对象才有类型, 变量是没有类型的,它 ...