字典:
字典的格式:{键:值,键:值,键:值},由若干个键值对组成。键值对'key':'value'
dict = {'name':'Jack','age':'40'}
字典是以键值对形式出现的存储对象
字典是可变对象
字典的键只能存放不可变对象;字典的值可以存放任意类型的对象
字典是无序的
字典的键是唯一的
dict1 = {'name':'Jack','age':'40','name':'Daniel'}
print(dict1)
print(dict1['name']) #Daniel
字典的新增与修改:
字典的新增和修改写法相同。如果字典里没有添加的键,则新增;如果有,则修改
dict2 = {'A':'apple'}
dict2['A'] = 'APPLE' #修改:通过键去修改值,键存在
dict2['B'] = 'banana' #新增:通过键去增加键值对,键不存在
print(dict2) #{'A': 'APPLE', 'B': 'banana'}
也可以通过update()新增或修改多个键值对
dict3 = {'A':'artists'}
dict3.update({'A':'abandon','B':'badminton','C':'cake'})
print(dict3) #{'A': 'abandon', 'B': 'badminton', 'C': 'cake'}
字典的新增与修改:
可以通过pop()方法删除,也可以使用del关键字删除。通过键去删除
dict4 = {'name':'Jack','age':'40','weight':'145'}
del dict4['name']
print(dict4) #{'age': '40', 'weight': '145'}
dict4 = {'name':'Jack','age':'40','weight':'145'}
dict4.pop('weight')
print(dict4) #{'name': 'Jack', 'age': '40'}
清空字典:
可以使用clear()方法清空字典
也可以使用重新赋值的方法重新定义一个新字典
dict5 = {'name':'Jack','age':'40'}
dict5.clear() #内存中的地址不变
print(dict5) #{}
dict5 = {'name':'Jack','age':'40'}
dict5 = {} #内存中的地址发生变化
print(dict5) #{}
遍历字典:
遍历字典的键值对
dict6 = {'A':'apple','B':'banana','C':'coconut'}
for key,value in dict6.items(): # 遍历键值对
print(key,value)
dict6 = {'A':'apple','B':'banana','C':'coconut'}
for item in dict6.items(): # 遍历键值对
print(item)
遍历键
for key in dict6.keys(): # 遍历键
print(key)
遍历值
for value in dict6.values(): # 遍历值
print(value)
json与字典:
json是一种很像字典的字符串,广泛用于接口数据的传递。是接口测试中常见的格式
打印json对象时,里面的元素使用双引号
打印字典对象时,里面的元素使用单引号
json1 = '{"aaa111":"张三","bbb222":"421182199711112222","ccc333":"13912345678","ddd444":"男"}' #标准的json格式,里面的引号是双引号
json可以与字典相互转换
json.loads()将json转为字典
json.dumps()将字典转为json
有一个注册页面的接口请求,传的参数是json格式,其中手机号唯一,要求修改json中的手机号为随机数
str1 ='''{
"aaa111":"张三",
"bbb222":"421182199711112222",
"ccc333":"13912345678",
"ddd444":"1"
}'''
import json
dict7_str1 = json.loads(str1) #将json转为字典
from random import randint
dict7_str1['ccc333'] =f'139{randint(10000000,99999999)}'
print(dict7_str1)
str1 = json.dumps(dict7_str1,ensure_ascii=False) #将字典转为字典json
print(str1)
print(type(str1))
json.load() 读取json文件,配合with open()使用
import json
with open('./100.json',encoding = 'utf-8') as file1:
print(json.load(file1))
json.dump() 写入json文件,配合with open()使用
import json
with open('./200.json','w+') as file2:
json.dump({'A':'apple'},file2)