Python学习的第十二天
字典
字典的初步了解
- 以键值对储存数据
- 数据的展现形式较好
- 可以通过键精准取值
- :前的键必须是不可变类型
- 键可以使用字符串、元组、数值,但优先使用字符串
- {}为空字典
- 字典内可以嵌套字典,新字典的键是旧字典的值
字典的构建
# 字典的字面量语法
student = {
'name': '小明',
'sex': 'True',
'birthday': '1999.10.1'
}
# 字典的构造器语法
student = dict(name='小明', sex=True, birthday='1999.10.1')
print(student)
# 通过Python内置函数zip压缩两个序列并创建字典
items1 = dict(zip('ABCDE', '12345'))
print(items1)
items2 = dict(zip('ABCDE', range(1, 10)))
print(items2)
# 用字典生成式语法创建字典
items3 = {x: x ** 3 for x in range(1, 6)}
print(items3)
字典的运算
# 字典的成员运算
print('name' in student)
print('birthday' not in student)
print('age' in student)
print(len(student))
# 字典的索引运算
# 索引内容必须存在
print(student['name'])
# 可以通过索引运算对字典进行修改
# 如果赋值字典存在的键则为更新原值,不存在则为添加新的键值对
student['name'] = '小红'
student['sex'] = False
student['adresss'] = '四川成都'
print(student)
student['爱好'] = {'动漫': '罗小黑战记', '游戏': '空洞骑士'}
student['厌恶'] = {'习惯': '吃饭发声', '动物': '蚊子'}
print(student)
字典的操作方法
# 字典的操作方法
# 通过get()方法获取对应值,使用get函数通过key获取value时,如果key不存在,不会发生KeyError错误
# 而是得到一个None(空值)或者是你指定的默认值
print(student.get('name'))
print(student.get('爱好'))
# 获取字典中所有的键
print(student.keys())
# 获取字典中所有的值
print(student.values())
# 获取字典中所有的键值对
print(student.items())
# 对字典中所有的键值对进行循环遍历
for key, value in student.items():
print(key, '--->', value)
# 使用pop方法通过键删除对应的键值对并返回该值
stu1 = student.pop('爱好')
print(stu1)
print(len(student))
stu2 = student.pop('', {})
print(stu2)
# 使用popitem方法删除字典中最后一组键值对并返回对应的二元组
# 如果字典中没有元素,调用该方法将引发KeyError异常
key, value = student.popitem()
print(key, value)
# 通过del删除不会返回数据
del student['name']
print(student)
dict1 = {'A': 100, 'B': 200, 'C': 300}
dict2 = {'D': 400, 'E': 500, 'A': 600}
# 更新(元素的合并或更新)
dict1.update(dict2)
print(dict1)
# 查找对应值,如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。
print(dict1.setdefault('C'))
print(dict1.setdefault('K', 10000))
print(dict1)
# 清空所有
dict1.clear()
print(dict1)
关于json
-
操作系统:Windows、iOS、Android、macOS、Linux、Unix
-
编程语言:Python、Java、PHP、Go、C++
-
两个异构的系统之间交换数据最好的选择是交换纯文本(可以屏蔽系统和编程语言的差异)
-
-
纯文本应该是结构化或半结构化的纯文本(有一定的格式)
- XML —> eXtensible Markup Language —> 可扩展标记语言
- JSON —> JavaScript Object Notation —> 大多数网站和数据接口服务使用的数据格式
- YAML —> Yet Another Markup Language
-
如何将JSON格式的字符串转成Python程序中的字典?
—> json 模块 —> loads 函数loads函数可以将JSON格式的数据转成Python中字典
-
URL —> Universal Resource Locator —> 统一资源定位符
修改三方库的下载来源为国内的镜像网站 —> pip config set global.index-url https://pypi.doubanio.com/simple
三方库 —> requests —> pip install requests -
协议 —> 通信双方需要遵守的会话的规则。
-
HTTP / HTTPS —> 通过URL访问网络资源的协议 —> Hyper-Text Transfer Protocol(超文本传输协议)
-
请求(request) - 响应(response)
-
协议 —> 通信双方需要遵守的会话的规则。
-
HTTP / HTTPS —> 通过URL访问网络资源的协议 —> Hyper-Text Transfer Protocol(超文本传输协议)
-
请求(request) - 响应(response)