1

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 = 男
posted @ 2022-05-10 11:56  Bonne_chance  阅读(49)  评论(0)    收藏  举报
1