Python学习笔记 第五天
1.知识回顾
1.1 list 操作:
1.1.1 增 :
1.1.1.1 append() 默认在末尾新增
1.1.1.2 insert()
1.1.1.3 extend()
1.1.1.3.1 作用:在列表末尾一次性增加另一个序列的多个值,常用作扩充原来的列表
1.1.1.3.2 语法: list.extend(seq)
seq:列表,元组,集合,字典
注意:如若是字典,则会仅仅作为key元素依次添加到原列表的末尾
1.1.2 删 :
1.1.2.1 pop()
1.1.2.2 remove()
1.1.2.3 del()
1.1.2.4 clear() :用于清除列表
1.2 其他常用操作
1.2.1 count(对象名) 统计
1.2.2 len(对象名) 长度
1.2.3 sort() 排序
注意:排序 reverse = False (默认升序排列)
reverse = True (默认降序排列)
1.2.4 嵌套问题
元组的内部元素不可以修改,但是内部元素本身是一个可变对象,那么这个可变对象内部是可以修改的。
第四天笔记内容如下:
元组元素不可修改,但是如果其中嵌套的有列表等可变形式,那么这个可变形式中的元素可以进行修改。
换言之,元组的不可变性只针对子元素,如若子元素的内部是可变对象,那么,元组中的子元素的子元素是可变的。
2.本次学习内容
2.1 字典
2.1.1 定义:
唯一使用映射来表达的,采取 “key-value”形式存储
注意:key 必须是可哈希(hash)的,即不可变类型,保存的数据不是按照人为规定的顺序保存的,是按照哈希表的顺序保存,哈希表内容请参考如下链接 (摘自百度百科—哈希表): https://baike.baidu.com/item/%E5%93%88%E5%B8%8C%E8%A1%A8/5981869?fr=aladdin
小结:不可变数据类型 :
元组tuple 字符串string 整数int 布尔类型 bool
可变数据类型:
列表list 字典dict 集合set
2.1.2 字典的其他操作
2.1.2.1 增
方法一:赋值法
字典名 = {}
字典名['key(键名)'] = 'value(值)'
注意:如果字典中不存在这个键值对,那么就会自动添加这个键值对
方法二:默认设置法
字典名.setdefault('key(键名)','value(值)')
注意:1.使用setdefault时,若已经存在键名,则重新新增时不会起作用,即,设置默认值时,如果在字典中已存在,将不会起作用。
2.如果只给一个键名,并没有输入值,即只有key没有value,那么在字典中显示为:键名:None
2.1.2.2 删
方法一:通过key删除
del 字典名["key(键名)"]
字典名.pop("key(键名)")
方法二:随机删除
字典名.popitem() :不指定,随机删除
方法三:清空字典
字典名.clear() :清空字典内容
2.1.2.3 改
字典名[key(键名)] = '新的value(值)'
合并操作
字典名.update(另一字典名)
注意:如果两个字典中的键名(key)重名,则新的值(value)会将老值进行覆盖
2.1.2.4 查
方法一:直接查询
print(字典名['key(键名)']
方法二:使用get方法
print(字典名.get('key(键名)')
注意:使用此方法查询不存在的值
1 .print(字典名.get('key(键名)')会返回
None,但是不会报错。
2.若设置了第二个参数,即
print(字典名.get('key(键名)',"参数二")
则会返回所输入的参数2
2.1.2.5 其他相关操作
2.1.2.5.1 遍历操作
2.1.2.5.1.1 获取所有key(键名)
方法一:使用for循环
for i in 字典名.keys():
print(i)
方法二:直接调用
print(字典名.keys())
2.1.2.5.1.2 获取所有值(value)
方法一:使用for循环
for i in 字典名.values():
print(i)
方法二:直接调用
print(字典名.values())
2.1.2.5.1.3 直接遍历.
方法一:直接调用
print(字典名)
方法二:使用函数
print(字典名.items())
注意:输出时,会以元组形式输出
方法三:使用for循环获取键值对
for key,value in 字典名.item():
print("-->",key,value)
2.1.2.5.2 结构,解包
参数一,参数二 = 值1,值2
参数一,参数二,参数三 = ("值1","值2","值3")
print(参数一)
......
2.1.2.5.3 字典的嵌套
本部分内容请浏览代码,不再赘述
涉及嵌套查询,请根据代码自行理解
mydict = { '中兴':{ '姓名': '侯为贵','job':'创始人','age': 74},'阿里巴巴'('互联网公司','孙正义'),'腾讯': ['王者荣耀','刺激战场','英雄联盟','穿越火线'],"百度":"众里寻TA千百度" } print(mydict) print(mydict.get('中兴').get('姓名')) print(mydict.get('腾讯')[0]) print(mydict.get('阿里巴巴')[1])
运行结果
{'中兴': {'姓名': '侯为贵', 'job': '创始人', 'age': 74}, '阿里巴巴': ('互联网公司', '孙正义'), '腾讯': ['王者荣耀', '刺激战场', '英雄联盟', '穿越火线'], '百度': '众里寻TA千百度'}
侯为贵
王者荣耀
孙正义