python-字典学习总结
‘’’
#1、字典的定义与特性
#2、字典的常用操作
#3、字典的遍历
‘’’
#1、字典的定义与特性
‘’'列表套列表,缺点
#(1)查找麻烦,可读性不好,没注释不知道下标什么意思
#(2)扩展性差,下标数据改变,代码需维护
# nameList = [
# ['Mike',25,180,80],
# ['tom','22',175,80]
# ]
# nameList.append(['mary',28,180,80])
# print([0],[-1])
1、字典的定义
key、value,键、值、键值队
2、字典的特性:
1-键:可以是字符串。int、float、tuple、bool
不可以是:list、字典
在python----作为键,哈希是不可以改变类型
2-值:任意类型
3-字典:
(1)、可读性
(2)、无序
(3)、字典可以改变
(4)、键是唯一的
dict1 = {}#无下标,不属于序列
dict2 = {'a1':1,'b1':2,'c1':3}
#2、字典的常用操作
#查询—使用键去寻找
#(1)如果这个键不存在—一定会报错
dict2 = {'a1':1,'b1':2,'c1':{'value':100}}
print(dict2['c1']['value'])
#print(dict2['a2'])#KeyError: 'a2'
dict3 = {'a1':1,'b1':2,'a1':3}
print(dict3)
#修改—字典可修改
dict3 = {'a1':1,'b1':2}
dict3['a1'] = 2
print(dict3)
#增加—键不存在,新增
dict3 = {'a1':1,'b1':2}
dict3['c1'] = 3
print(dict3)dict4 = {'a1':1,'b1':3}
dict4.update({'c1':5})
#TypeError: update expected at most 1 arguments, got 2,该报错是未未写大括号的情况
print(dict4)
#删除—相较列表没有remove,有pop、del
dict3 = {'a1':1,'b1':2}
print(dict3.pop('a1'))
del dict3["b1"]
print(dict3)
#len–键、值、键值对的个数,都是正确的,键值队成对出现
dict2 = {'a1':1,'b1':2,'c1':{'value':100}}
print(len(dict2))in 通过键去判断
dict2 = {'a1':1,'b1':2,'c1':3}
print('a1' in dict2)
#清空&赋值(清空地址不改变,赋值地址改变)
dict1 = {'a1':1,'b1':2,'c1':3}
print(id(dict1))
dict1.clear()
print(dict1)
print(id(dict1))dict2 = {'a1':1,'b1':2,'c1':3}
print(id(dict2))
dict2 = {}
print(id(dict2))
#3、字典的遍历
#-----获取所有的key\values----------
dict1 = {'a1':1,'b1':2,'c1':3}
print(dict1.keys())#返回的类列表(1、相较与列表来说无下标;2、支持for循环的遍历)
#dict_keys(['a1', 'b1', 'c1'])
for i in dict1.keys():#类列表特性2print(i)
print(list(dict1.keys()))#类列表特性1,强行转列表,可用下标
for i in dict1:print(i)#返回的是键print(dict1.values())#值
print(dict1.items())#键值对
for i in dict1.items():#返回元组print(i)print(type(i))#
for a,b in dict1.items():print(a,b)
#------字典的合并—dict1.update(字典)
dict4 = {'a1':1,'b1':3}
dict4.update({'c1':5,'d1':23})
print(dict4)
‘’’’
#案例
#1-接口自动化,post、请求头、响应数据
#2-断言
字典:一种数据结构–存储类型
JSON格式:使用中数据格式–就是字符串,有键值对形式的一个字符串
‘’’
dict1 = '''{"a1":"1","b1":3}'''
import json
print(dict1)
res = json.loads(dict1)#字符串转为字典
print(type(res),res)res['a1'] = '333'
print(res)res1 = json.dumps(res)#字典转为字符串
print(type(res1),res1)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
