python技术—字典
1. 创建字典
字典特点:
- 符号为大括号
- 数据为键值对形式出现
- 各个键值对之间用逗号隔开
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
dict2 = {} #空字典
dict3 = dict() #空字典
注意:⼀般称冒号前⾯的为键(key),简称k;冒号后⾯的为值(value),简称v。
2. 字典常见操作
2.1 添加
字典元素添加写法:字典[key] = 值,注意如果key存在,则修改这个key对应的值,如果key不存在,则新增此键值对
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
dict1['work'] = "coder"
print("2:",dict1)
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: {'name': 'Tom', 'age': 20, 'gender': '男', 'work': 'coder'}
2.2 删除
del()/del:删除字典或删除字典中指定键值对
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
dict1['work'] = "coder"
print("2:",dict1)
del dict1["name"]
print("3:",dict1)
del dict1
print("4:",dict1)
结果:
Traceback (most recent call last):
File "D:/PyProm/dictTest.py", line 12, in <module>
print("4:",dict1)
NameError: name 'dict1' is not defined
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: {'name': 'Tom', 'age': 20, 'gender': '男', 'work': 'coder'}
3: {'age': 20, 'gender': '男', 'work': 'coder'}
clear():清空字典,删除字典中所有的元素
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
dict1['work'] = "coder"
print("2:",dict1)
dict1.clear()
print("3:",dict1)
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: {'name': 'Tom', 'age': 20, 'gender': '男', 'work': 'coder'}
3: {}
pop():删除拥有指定键的元素
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
dict1['work'] = "coder"
print("2:",dict1)
dict1.pop("name")
print("3:",dict1)
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: {'name': 'Tom', 'age': 20, 'gender': '男', 'work': 'coder'}
3: {'age': 20, 'gender': '男', 'work': 'coder'}
popitem():从字典中删除最后一个键值对
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
dict1['work'] = "coder"
print("2:",dict1)
dict1.popitem()
print("3:",dict1)
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: {'name': 'Tom', 'age': 20, 'gender': '男', 'work': 'coder'}
3: {'name': 'Tom', 'age': 20, 'gender': '男'}
2.3 修改
写法: 字典序列 [key] = 值
注意:如果key存在则修改这个key对应的值 ;如果key不存在则新增此键值对。
2.4 查找
- key值查找
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
print("2:",dict1["name"])
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: Tom
- get()
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
print("2:",dict1["name"])
print("3:",dict1.get("name"))
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: Tom
3: Tom
- keys()
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
print("2:",dict1["name"])
print("3:",dict1.get("name"))
print("4:",dict1.keys())
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: Tom
3: Tom
4: dict_keys(['name', 'age', 'gender'])
- values()
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
print("2:",dict1["name"])
print("3:",dict1.get("name"))
print("4:",dict1.values())
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: Tom
3: Tom
4: dict_values(['Tom', 20, '男'])
- items()
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
print("1:",dict1)
print("2:",dict1["name"])
print("3:",dict1.get("name"))
print("4:",dict1.items())
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: Tom
3: Tom
4: dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
2.5 更新
update() 方法向字典插入指定的项目。 这个指定项目可以是字典或可迭代对象。
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
dict2 = {"hobby":"running","diet":"chicken","subject":"math"}
print("1:",dict1)
print("2:",dict2)
print("3:",dict1.update(dict2))
print("4:",dict1)
结果:
1: {'name': 'Tom', 'age': 20, 'gender': '男'}
2: {'hobby': 'running', 'diet': 'chicken', 'subject': 'math'}
3: None
4: {'name': 'Tom', 'age': 20, 'gender': '男', 'hobby': 'running', 'diet': 'chicken', 'subject': 'math'}
3. 字典遍历
3.1 遍历字典的key
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
for key in dict1.keys():
print(key)
结果:
name
age
gender
3.2 遍历字典的value
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
for key in dict1.keys():
print("1:",key)
for value in dict1.values():
print("2:",value)
结果:
1: name
1: age
1: gender
2: Tom
2: 20
2: 男
3.3 遍历字典的元素
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
for key in dict1.keys():
print("1:",key)
for value in dict1.values():
print("2:",value)
for item in dict1.items():
print("3:",item)
结果:
1: name
1: age
1: gender
2: Tom
2: 20
2: 男
3: ('name', 'Tom')
3: ('age', 20)
3: ('gender', '男')
3.4 遍历字典的键值对
dict1 = {"name": "Tom", "age": 20, "gender": "男"} #有数据字典
# for key in dict1.keys():
# print("1:",key)
# for value in dict1.values():
# print("2:",value)
# for item in dict1.items():
# print("3:",item)
for key, value in dict1.items():
print("4:",f'{key} = {value}')
结果:
4: name = Tom
4: age = 20
4: gender = 男

浙公网安备 33010602011771号