python基础~字典与json

字典:

字典的格式:{键:值,键:值,键:值},由若干个键值对组成。键值对'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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容