20200104--python学习第六天
今日学习
集合
内存相关知识
深浅拷贝
内容回顾与补充
(1)列表:
(a)reverse 反转
v1=[11,22,3111,32,13]
v1.sort(reverse=False)# #从小到大(默认)
print(v1) #输出结果为:[11, 13, 22, 32, 3111]
v1.sort(reverse=True) #从大到小#
print(v1) #输出的结果为:[3111, 32, 22, 13, 11]
(2)字典
(a)keys/item/values/
(b) get:与字典中通过键查询值功能类似,但当键不存在时会返回默认值None,当然默认值也可以被指定,具体示例如下:
info={'k1':'v1','k2':'v2'}
v0 = info["k1"]
v00 =info.get("k1")
#v1=info['k11111'] 该处会报错
v2=info.get('k1111')
#None就是Python中的空
v3=info.get('k1111',666)
print(v0)
print(v00)
print(v2)
print(v3)
# #None数据类型,改类型表示空(无任何功能,专门用于提供空值)
(c)pop
info={'k1':'v1','k2':'v2'}
result=info.pop('k2') #result返回值为v2
print(info,result) #返回结果为{"k1":"v1"} v2
#改写发等同于del info["k2"]
(d)update 不存在,则添加;存在则更新
info={'k1':'v1','k2':'v2'}#不存在,则添加/存在,则更新
info.update({'k3':'v3','k4':'v4','k2':666})
print(info)
#输出结果为:{'k1': 'v1', 'k2': 666, 'k3': 'v3', 'k4': 'v4'}
(e)判断一个字符串中是否有敏感字符
str
v= "Python全栈21期"
if "全栈" in v:
print("包含敏感字符")
list/tuple
dict
#让用户输入任意字符串,然后判断此字符串是否包含指定的敏感字符。
char_list=['利奇航','堂有光','炸展会']
content=input('请输入内容:')#我叫利奇航/我是堂有光/我要炸展会
success = True
if content in char_list :
success = False
if success:
print(content)
else:
print("含有敏感字符")
集合
(1)集合set :特性:无序且不重复
(2)集合的格式:v={1,2,3,4,5,6,99,100}
#疑问:v={} #这是一个空字典
"""
None
#int类型
v1=123
v1=int() #-->0
print(v1)
#bool类型:bool类型只有两个值:True/Flase
v2 = bool() #--> 返回值为:Flase
#str
v3 =""
v3 = str()#-->
#list
v4=[]
v4 =list()
#tuple
v5 = ()
v5 = tuple()
#dict
v6 ={}
v6 = dict()
#set
v7 = set()
"""
(3)集合的独有功能
add/discard/update/intersetion(交集)/union(并集)/difference(差集)/symmetric_differdnce
(4)公共功能
len(长度)/for 循环
#在python中,整型,bool布尔,字符串,元组属于不可变的数据类型
#列表,字典,集合属于可变的数据类型
#1.列表,字典,集合-->不能放在集合中+不能作为字典的key(unhashable)
# info={1,2,3,4,True,"国风",None,(1,2,3)}
# info1={True,2,3,4,1,"国风",None,(1,2,3)}
# print(info)
# print(info1)
#info输出的内容为:{1, 2, 3, 4, None, (1, 2, 3), '国风'}
#info1输出的内容为:{True, 2, 3, 4, None, (1, 2, 3), '国风'}
#注意:True 代表的是1,Flase 代表的是0,集合是去重的
#2.hash->哈希是怎么回事?
# #因为在内部会将值进行哈希算法并得到一个数值(对应内存地址),以后用于快速查找。
#3.特殊情况
# info={0,2,3,4,False,"国风",None,(1,2,3)}
# print(info)
#输出的结果为:{0, '国风', 2, 3, 4, None, (1, 2, 3)}
info={1:'alex',True:'oldboy'}
print(info)
#输出的结果为:{1: 'oldboy'}
内存地址
注意:两个变量应该是两个不同的内存地址,但存在一些特殊的情况。
特殊情况:
练习题
v=[1,2,3]
values=[11,22,v]
#练习1:
"""
v.append(9)
print(values)
#[11,22,[1,2,3,9]]
"""
#练习2:
"""
values[2].append(999)
print(v)
#[1,2,3,999]
"""
#练习3:
"""
v=999
print(values)
#[11,22,[1,2,3]]
"""
#练习4:
"""
values[2]=666
print(v)
#[1,2,3]
"""
#练习五
# v1=[1,2]
# v2=[2,3]
# v3=[11,22,v1,v2,v1]
查看内存地址
# v1=[1,2,3]
# v2=v1
# v1.append(999)
# print(v1,v2)
# print(id(v1),id(v2)
# 输出结果为:[1, 2, 3, 999] [1, 2, 3, 999]
# 2938251599552 2938251599552 # v1=[1,2,3]
# v2=v1
# print(v1,v2)
# print(id(v1),id(v2))
# v1=999
# print(v1,v2)
# print(id(v1),id(v2))
# 输出结果为:[1, 2, 3] [1, 2, 3]
# 2278782156608 2278782156608
# 999 [1, 2, 3]
# 2278782223248 2278782156608
问题 :== 和 is有什么区别?
总结
列表:reverse/sort
字典:find/pop/update
集合:add/discard/update/intersection/union/difference/symmetric_difference
特殊:嵌套:集合/字典中的key;空:None,空集合。。。。
id
type
嵌套的应用:赋值,修改内部元素:列表/字典/集合
20200104--python学习第六天的更多相关文章
- python学习 第六天课后总结:
<br class="Apple-interchange-newline"><div></div> python学习 第六天课后总结 ...
- python学习第六天运算符总结大全
python学习第六天运算符总结大全,玖乐网络(www.96net.com.cn)列出下面详细 1,算术运算符 + 加 - 减 *乘 / 除 % 求模 ** 乘方 // 取整除 - 返回商的整数部分 ...
- python学习第六天
一. 模块介绍1. 模块的定义:用一堆代码实现了某个功能的代码集合 包的定义:本质就是一个目录(必须导游一个_init_.py文件),是用来从逻辑上组织模块的.2. 需要多个函数才能完成(函数 ...
- python学习第六天 条件判断和循环
总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...
- python学习第六天:python基础(dict、set)
dict dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 创建&取值 为什么dict查找速度这么快? 因为 ...
- python学习第六天:python基础(条件判断、循环)
条件判断 格式 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> ...
- 数据类型+内置方法 python学习第六天
元组 用途:不可变的列表,能存多个值,但多个值只有取的需求而没有改的需求. 定义方式:在()内用逗号分隔开多个元素,可以存放任意类型的值. names=(‘alex’,’blex’,’clex’) 强 ...
- python学习第六天--匿名函数、过滤、映射
匿名函数 lambda表达式 过滤器 filter(判断函数,可迭代对象) 会根据提供的函数对指定序列做过滤 映射 map(判断函数,可迭代对象) 会根据提供的函数对指定序列做映射
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
随机推荐
- 树上主席树 - 查询树链上第K大
Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始 ...
- 干货!SQL性能优化,书写高质量SQL语句
写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范? 以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助! 1. limit分页 ...
- SpringCloud组件和概念介绍(一)
一:什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及 ...
- 华为,小米部分机型微信浏览器rem不适配的解决方案
针对近日华为,小米的部分机型,在升级系统或升级微信之后,微信内置浏览器产生的rem不能正确填充满的问题,有如下解决方案 目前来看,产生这个情况的原因是因为给html附font-size时,附上的fon ...
- NameError:name ‘xrange’ is not defined
原因: 在Python 3中,range()与xrange()合并为range( ). 我的python版本为python3.5. 解决办法: 将xrange( )函数全部换为range( ).
- Java入门 - 高级教程 - 06.邮件收发
原文地址:http://www.work100.net/training/java-email.html 更多教程:光束云 - 免费课程 邮件收发 序号 文内章节 视频 1 概述 2 发送一封简单的邮 ...
- Creating Custom Helper Methods 创建自定义辅助器方法----辅助器方法 ------ 精通ASP.NET MVC 5
创建内联的辅助器方法 和 拓展方法 好像类似的功能. 不过写在前台更直观
- JS基础——ATM机终端程序编写(3.0)
利用函数进行代码实现,要点:将每一项操作单独写成一个函数,在需要时进行调用,弄清参数的传递. 创建模拟账户 使用数组创建账户 let user = ["xiaohei", 1234 ...
- 老哈佛H3的空调控制器的维修记录
这部哈弗车是2005年出厂的,应该差不多是第一批了吧,小毛病很多了.夏天到了,空调也不能启动,灯不亮,按键没反应令我很是着急.于是开始研究. 这款空调的控制器在cd机中控下面,需要拆中控取出.是一个黑 ...
- Centos 7 最小化部署jenkins
前言 jenkins是devops与CI/CD的重要工具之一,下面通过jenkins与svn的结合完成自动部署功能 环境 软件 名称 版本 操作系统 Centos 7.4 开发环境 jdk 1.8 中 ...