python day06笔记总结
2019.4.3 S21 day06笔记总结
一、昨日内容补充
1.列表独有功能:
1.revers 反转
例:v1 = [1,2,4,88,2]
v1.revers()
print(v1)
2.sort
例:v1 = [1,2,4,88,2]
v1.sort(revers = False) # 从小到大排列 (默认的,等同于v1.sort())
、 v1.sort(revers = True) # 从大到小排列
print(v1)
2.字典独有功能
.get()
索引不存在,列表、元组会报错,字典也会报错(可以使用.get())
例:info = {'k1':'v1','k2':'v2'}
v1 = info['k1111']
v2 = info.get('k1111') # 表示'k1111'存在则取它的值,不存在则返回一个空值None,None在python中表示空
v3 = info.get('k1111',666) # 如果不存在就返回一个666
None 数据类型,该类型表示空。无任何功能,专门用于表示空值。
pop
例:info = {'k1':'v1','k2':'v2'}
result = info.pop('k1') # 将pop删除的数据赋值给result
info.del('k1') # 仅仅是删除
print(result)update()
.update()
例:info = {'k1':'v1','k2':'v2'}
info.update({'k3':'v3','k4':'v4','k2':666})
print(info) # {'k1':'v1','k2':666,'k3':'v3','k4':'v4',}
不存在,则增加;存在,则更新、修改。
3.判断一个字符串中是否有敏感字符?
1.str
例:v = 'python全栈21期'
if '全栈' in v:
print('含有敏感字符')
2.list/tuple
例:v = ['alex','oldboy','藏老四','利奇航']
if '利奇航' in v:
print('含有敏感字')
3.dict
例:v = {'k1':'v1','k2':'v2','k3':'v3'}
. # 默认按照键判断,即判断x是否是字典的键
if 'x' in v :
pass
.# 请判断:'k1'是否在其中?
if 'k1' in v:
.# 请判断:'v2'是否在其中?
方式一:
flag = '不存在'
for v in v.value:
if v == v2:
flag = '存在'
print(flag)
方式二:
if 'v2' in list(v.values()): # 强制转换成列表['v1','v2','v3']
pass
.# 请判断:k2:v2是否在其中?
value = v.get('k2')
if value == 'v2':
print('存在')
else:
print('不存在')
二、今日内容
1.集合 set
1.集合是无序的,不可重复的
None 空数据类型,本身是空,所以没有代表空的符号
int/bool 没有代表空的符号,int()=0,bool()=False
str 空字符串:""/str()
list 空列表:[]/list()
tuple 空元组:()/tuple()
dict 空字典:{}/dict()
set 空集合:set()
2.独有功能
.add() 添加
例:v1 = {1,2}
v1.add('lishaoqi')
v1.add('lishaoqi') # 第二次运行不会相加
print(v1)
.discard 删除
例:v1 = {1,2,'李绍奇'}
v1.discard('李绍奇')
print(v1) # {1,2}
.update() 批量添加
例:v1 = {1,2,'李绍奇'}
v1.update({22,44,33})
print(v1)
.intersection() 交集
例:v1 = {1,2,'李绍奇'}
result = v1.intersection({1,'李绍奇','小黑'}) # 形成一个新的东西
print(result) # {1,'李绍奇'}
.union() 并集
例:v1 = {1,2,'李绍奇'}
result = v1.union({1,'李绍奇','小黑'})
print(result)
.difference() 差集
例:v1 = {1,2,'李绍奇'}
result = v1.difference({1,'李绍奇','小黑'}) # v1中有且{1,'李绍奇','小黑'}中没有的
print(result) # {2}
v1 = {1,'李绍奇','小黑'}
result = v1.difference({1,2,'李绍奇'})
print(result) # {'小黑'}
.symmetric_difference 对称差集
3.公共功能
len
例:v = {1,2,'李绍奇'}
print(len(v)) # 3
for循环
例:v = {1,2,'李绍奇'}
for item in v:
print(item)
4.嵌套
1.列表、字典、集合是可变的,不可放在集合中,并且不能作为字典的key ( unhashable不可哈希)
info = {1,2,3,True,"国风",None,(1,2,3)}
print(info)
2.hash :哈希是怎么回事?
因为在内部会将值进行哈希算法,并得到一个数值(对应内存地址),以后用于快速查找。
例1:info = {1,2,3,True,"国风",None,(1,2,3)} # {1,2,3,"国风",None,(1,2,3)}
info = {2,3,True,"国风",None,(1,2,3)} # {True,1,2,3,"国风",None,(1,2,3)}
info = {0,2,3,False,"国风",None,(1,2,3)} # {0,2,3,"国风",None,(1,2,3)}
info = {2,3,False,"国风",None,(1,2,3)} # {False,2,3,"国风",None,(1,2,3)}
print(info)
例2:info = {
1:'alex'
True:'oldboy'
}
print(info) # {1:'oldboy'}
2.内存相关
1.两种情况:
修改内部元素(列表/字典/集合)
重新赋值
2.查看内存地址 id
例:v1 = [1,2,3] v1 = [1,2,3]
v2 = [1,2,3] # v1 、v2不是同一个地址 v2 = v1 # v1 、v2是同一个地址
print(id(v1),id(v2))
注意:
python常见的会缓存,放到同一个地址。(缓存机制、小数据池)
按理v1、v2应该是不同的内存地址。特殊:
int : -5~256是常见的
字符串:'alex'/'swde'/'a_ds'/'ades_sds'等
问题:== 和 is 有什么区别?
== 是比较的值是否相等
is 用于比较内存地址是否相等
python day06笔记总结的更多相关文章
- Web Scraping with Python读书笔记及思考
Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python datetime笔记
python datetime笔记 http://mint-green.diandian.com/post/2011-09-09/4892024 获取当前时间,并通过字符串输出. 格式为:%Y-%m- ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
随机推荐
- A* 算法的原理
参考下面的博客内容, 已经写的很详细了, 就不用重复写了. https://blog.csdn.net/haxiongha/article/details/81357687
- 基于Servlet的Echarts例子(2018-12-26更新)
引子 ECharts是百度出品的,一个使用 JavaScript 实现的开源可视化库.程序员在Web页面上引入并稍作配置就能做出漂亮的数据图表. 本篇文章简单介绍一下如何在JSP中使用Echarts, ...
- git bash的一些使用经验
1.最开始使用git的时候, git remote -v 查看远程仓库 报了一个错误fatal: not a git repository (or any of the parent director ...
- 辨析字节序(Endianness)
字节序(Endianness, Byte Order)指的是对于一个多字节数值,当在内存中存储该值或者在链路中传输该值时,其值所包含的多个字节的排列顺序. 在计算机科学中,一般存在两种字节序,大端字节 ...
- Ubuntu 15.10 下Redis Cluster使用
1 Redis Standalone安装 可以参考这篇博文:http://www.cnblogs.com/_popc/p/3684835.html 2 Redis Cluster安装 2.1 环境介绍 ...
- nodejs静态web服务
项目准备 Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等 Web 客户端提供文档,也可以放置网站文件,让全世界浏览:可以放置数据文件,让全世界下载.目前最主流的 ...
- 开源在线分析诊断工具Arthas(阿尔萨斯)--总结
阿里重磅开源在线分析诊断工具Arthas(阿尔萨斯) arthas用法 启动demo java -jar arthas-demo.jar 启动 java -jar arthas-boot.jar at ...
- chrony 时间同步服务器
这篇文章也不错: https://www.zfl9.com/chrony.html 简介 chrony是网络时间协议(NTP)的多用途实现.它可以使系统时钟与NTP服务器.参考时钟(例如GPS接收器) ...
- 解决导出CSV后在EXCEL打开纯数字前面0丢失问题
select ip ,concat('="',accountname,'"')select ip ,concat('="',accountname,'"')
- linux 怎么与网络对时
首先来了解下面几个知识点:1. date命令:#date显示系统时间2.hwclock命令 (即hardwareclock系统硬件时间)#hwclock显示硬件时间#hwclock -w将系统时间写入 ...