20200104--python学习第六天
Posted limin1027
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习第六天的主要内容,如果未能解决你的问题,请参考以下文章