字典:
关键字是dict
特性一:
字典是⽆序的
特性二:
可以使⽤key-value的⽅式来存储数据,⽬前其实基于REST API的⽅式数据都是基于key-value的⽅式来存储数据的,⽐如基于JSON的格式的字符串的数据
字典的常用操作:
1.定义一个字典有两种方式:
data=dict()
data={}
2.查看字典的使用方法 使用关键字dir
字典的中的使用方法:
1.获取所有的key
data={"name":"lisi","age":20,"work":"测试开发工程师"}
# 获取所有的key:
for key in data.keys():
print(key)
输出结果:
name
age
work
2.获取所有的value
data={"name":"lisi","age":20,"work":"测试开发工程师"}
# 获取所有的value
for value in data.values():
print(value)
输出结果:
lisi
20
测试开发工程师
3.对字典进行循环 使用的关键字为items() 。将返回的列表的值赋给key,value 一个一个进行输出
items() :方法把字典中每对 key 和 value 组成一个元组,并把这些元组放在列表中返回
data={"name":"lisi","age":20,"work":"测试开发工程师"}
# # 对字典进行循环
for key,value in data.items():
print(key,":",value)
输出结果:
name : lisi
age : 20
work : 测试开发工程师
4.获取 key 对应的value 一般使用 print(data["key"])的方法
data={"name":"lisi","age":20,"work":"测试开发工程师"}
# 获取key对应具体的value 一般使用 print(data["key"])
print(data["name"])
print(data["work"])
输出结果:
lisi
测试开发工程师
5。 删除 po()
data={"name":"lisi","age":20,"work":"测试开发工程师"}
# pop(删除的元素) 删除
print(data.pop("age"))
print(data)
输出结果:
{'name': 'lisi', 'work': '测试开发工程师'}
6.清空 clear()
data={"name":"lisi","age":20,"work":"测试开发工程师"}
# clear 清空
# print(data.clear())
输出结果:
None
7。复制 copy()
data={"name":"lisi","age":20,"work":"测试开发工程师"}
# copy 复制
data1=data.copy()
print(data1)
.输出结果:
{'name': 'lisi', 'age': 20, 'work': '测试开发工程师'}
8.合并 update()
# update 合并
data={"name":"lisi","age":20,"work":"测试开发工程师"}
data2={"sex":"女",}
data.update(data2)
print(data)
输出结果:
{'name': 'lisi', 'age': 20, 'work': '测试开发工程师', 'sex': '女'}
字典实战:
实战一:
解决步骤 :从外层到里层 一步一步取
data={"status":0,
"msg":"ok",
"datas":[
{"name":"lisi","age":10},
{"name":"god","age":20,"work":["test",{"language":"Python语言"}]}
]
}
# 需求:取出Python语言
print(data["datas"][1]["work"][1]["language"])
输出结果:
Python语言
实战二:
data={"status":0,
"msg":"ok",
"datas":[
{"name":"lisi","age":10},
{"name":"god","age":20,
"work":["test",{"language":"Python语言","school":["北京大学",{"专业":"计算机科学与技术"}]}]
}
]
}
需求:取出计算机与科学技术
print(data["datas"][1]["work"][1]["school"][1]["专业"])
输出结果:
计算机科学与技术
实战三:
解决步骤:1.先找到列表 ["Go","Python","Java"] 2.在将列表转换成字符串
data=["language",{"语言":["Go","Python","Java"]}]
# 需求:输出结果是:Go,Python,Java
b=(data[1]["语言"])
print(",".join(b))
输出结果:
Go,Python,Java
实战四:
解决步骤:1.先定义一个列表list2 2.利用for循环获取学生信息 3.将学生信息中的成绩添加到list2中 4. 对list2中的元素进行排序 5.输出list2,得到想要的结果
data1={"status":0,"datas":[
{"name":"lisi","score":90},
{"name":"wangmazi","score":88},
{"name":"wangwu","score":60},
{"name":"zhaosi","score":59},
{"name":"zhaosi","score":29}
]}
# #需求,对学生成绩进行排序,从低到高排序
list2=[]
for item in data1["datas"]:
list2.append(item["score"])
list2.sort()
print(list2)
输出结果:
[29, 59, 60, 88, 90]
实战五:
解决步骤:1.先定义一个列表list3 2.利用for循环获取“datas" 里面学生的信息 3.将学生的“name”添加到list3里面 4.将列表转换为字符串 5.输出我们想要的结果
data2={"status":0,"datas":[
{"name":"lisi","score":90},
{"name":"wangmazi","score":88},
{"name":"wangwu","score":60},
{"name":"zhaosi","score":59}
]}
#需求:输出lisi,wangmazi,wangwu,zhaosi
list3=[]
for item in data2["datas"]:
list3.append(item["name"])
print(",".join(list3))
输出结果:
lisi,wangmazi,wangwu,zhaosi
实战六