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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容