目录
1.字典定义
字典用 { } 来定义
字典使用 键值对 存储数据, 键值对之间使用 逗号, 分隔
字典大括号,元组小括号,列表中括号
- dictionary (字典) 是 除列表以外 Python 之中 最灵活 的数据类型
- 字典同样可以用来 存储多个数据,通常描述一个物体的相关信息
- 与元组区别在于:
列表 是 有序 的对象集合
字典 是 无序 的对象集合(只关心数据,不关心顺序)
- 键 key 是索引
- 值 value 是数据
- 键 和 值 之间使用 分号(:) 分隔
- 键必须是唯一的
- 值 可以取任何数据类型, 但 键 只能使用 字符串, 数字 或 元组
字典定义实例:
# 字典是一个无序的数据集合,python3.5版本前,输出无序
xiaoming = {"name":"小明",
"age":18,
"height":1.75,
"weight":75.2}
print(xiaoming)
数据存储结构:
输出结果:
C:\Users\10428\Desktop\Py-project\venv\Scripts\python.exe C:/Users/10428/Desktop/Py-project/ky_09_字典的定义.py
{'name': '小明', 'age': 18, 'height': 1.75, 'weight': 75.2}Process finished with exit code 0
2. 字典常用操作
1.取值
字典名["键名"]
列表、元组、字典取值都用" [ ] "
2.增加/修改
3.删除
xiaoming = {"name":"小明",
"age":18,
"height":1.75,
"weight":75.2}
# 1.取值
print(xiaoming["name"])
# 在取值的时候,如果指定的key不存在,程序会报错
# print(xiaoming["name123"])
# 2.增加/修改
xiaoming["age"] = 19
xiaoming["name"] = "小红"
print(xiaoming["age"])
print(xiaoming["name"])
# 3.删除
xiaoming.pop("name")
print(xiaoming)
3.字典其他操作
1.统计键值对数值
2.合并字典
3.清空字典
xiaoming = {"name":"小明",
"age":18,
"height":1.75,
"weight":75.2}
# 1.统计键值对数量
print(len(xiaoming))
# 2.合并字典
tem = {"adress":"新华路110号",
}
xiaoming.update(tem)
print(xiaoming)
# 3.清空字典
xiaoming.clear()
print(xiaoming)
4. 复制字典
使用方法:dict.copy()
代码如下:
dict1 = {'Name': 'Zara', 'Age': 7};
dict2 = dict1.copy()
print "New Dictinary : %s" % str(dict2)
输出:
New Dictinary : {'Age': 7, 'Name': 'Zara'}
4.字典的遍历
代码:
xiaoming = {"name":"小明",
"age":18,
"height":1.75,
"weight":75.2}
# 迭代遍历字典
# 变量k是每一次循环中,获取到键值对的key
for k in xiaoming:
print("%s:%s"%(k,xiaoming[k]))
输出:
C:\Users\10428\Desktop\Py-project\venv\Scripts\python.exe C:/Users/10428/Desktop/Py-project/Ky_12_字典的遍历.py
name:小明
age:18
height:1.75
weight:75.2Process finished with exit code 0
5.应用场景
- 尽管可以使用 for in 遍历 字典
- 但是在开发中, 更多的应用场景是:
使用 多个键值对, 存储 描述一个 物体 的相关信息 ---- 描述更复杂的数据信息
将 多个字典 放在 一个列表 中, 在进行遍历, 在循环体内部针对每一个字典进行 相同的处理
# 使用 多个键值对, 存储 描述一个 物体 的相关信息 ---- 描述更复杂的数据信息
# 将 多个字典 放在 一个列表 中, 在进行遍历, 在循环体内部针对每一个字典进行 相同的处理
card_list = [
{'name': '张三',
'age': 17,
'qq': '123456'},
{'name': '李四',
'age': 18,
'qq': '111111'}
]
for card_info in card_list:
print(card_info)
输出:
C:\Users\10428\Desktop\Py-project\venv\Scripts\python.exe C:/Users/10428/Desktop/Py-project/ky_13_字典的应用场景.py
{'name': '张三', 'age': 17, 'qq': '123456'}
{'name': '李四', 'age': 18, 'qq': '111111'}Process finished with exit code 0