字典(Python)

目录

字典的定义

定义空字典

定义非空字典(四种方式)

字典元素的获取

1. 访问字典中的元素

2.len() 获取字典元素的长度

3. 获取字典中的所有key 

4、获取字典中的所有的value

5. 获取字典中的所有的key和value

遍历字典(四种方式)

字典的增删改

(1)合并字典 update()

(2)向字典中新增元素

(3)修改字典中的元素

(4)删除字典中的元素


字典的定义

 注意:每个字典里面的key都是唯一的,如果出现了多个key的情况,后面的key会覆盖前面的key

定义空字典

dict1 = {}
print(dict1)    # {}

定义非空字典(四种方式)

# 方式1 (常用)
dict1 = {'name': '张三', 'age': '18'}
print(dict1)    # {'name': '张三', 'age': '18'}

# 方式2
# 使用dict(key=value)函数来定义
dict2 = dict(color='红色', size=17)
print(dict2)  # {'color': '红色', 'size': 17}

# 方式3
# 使用dict(zip([key1,key2,key3....],[value1,value2,value3....]))
dict3 = dict(zip(['x1', 'x2', 'x3'], [1, 2, 3]))
print(dict3)    # {'x1': 1, 'x2': 2, 'x3': 3}

# 注意:当key的数量和value的数量不一致时,以数量少的为基准
dict3 = dict(zip(['x1', 'x2', 'x3', 'x4', 'x5'], [1, 2, 3, 4, 5, 6, 7]))
print(dict3)   # {'x1': 1, 'x2': 2, 'x3': 3, 'x4': 4, 'x5': 5}

# 方式4
dic4 = dict([('name', '张三'), ('age', 18), ('gender', '女')])
print(dic4)   # {'name': '张三', 'age': 18, 'gender': '女'}

字典元素的获取

1. 访问字典中的元素

# 第一种方式:通过key访问
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1['name'])  # 张三
# print(dict1['height']) # 访问字典中不存在的key会报错  KeyError: 'height'

# 第二种方式: 通过get()访问
print(dict1.get('name'))  # 张三
print(dict1.get('height'))  # None     访问字典中不存在的key,会返回None

2.len() 获取字典元素的长度

dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(len(dict1))  # 3

3. 获取字典中的所有key 

以列表的形式展示

dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1.keys())  # dict_keys(['name', 'age', 'gender'])

4、获取字典中的所有的value

dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1.values())  # dict_values(['张三', 18, '女'])

5. 获取字典中的所有的key和value

dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1.items())  # dict_items([('name', '张三'), ('age', 18), ('gender', '女')])

遍历字典(四种方式)

dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
# 遍历方式1 获取所有的key
for i in dict1:
    # i表示所有的key
    print(i)

"""运行结果:
name
age
gender
"""
# 遍历方式2 获取所有的value
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
for i in dict1.values():
    # i 表示所有的元素值
    print(i)

"""运行结果
张三
18
女
"""

# 遍历方式3     enumerate(dict1)
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
for k, v in enumerate(dict1):
    print(k, "-----", v)
"""运行结果
0 ----- name
1 ----- age
2 ----- gender
"""
# 遍历方式4  items()
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
for k, v in dict1.items():
    print(k, "-----", v)
"""运行结果
name ----- 张三
age ----- 18
gender ----- 女
"""

字典的增删改

(1)合并字典 update()

dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict2 = {'height': 188}
print(dict1)    # {'name': '张三', 'age': 18, 'gender': '女'}
print(dict2)    # {'height': 188}

dict1.update(dict2)
print(dict1)  # {'name': '张三', 'age': 18, 'gender': '女', 'heigth': 188}

(2)向字典中新增元素

dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1)  #{'name': '张三', 'age': 18, 'gender': '女'}
dict1['height'] = 200
print(dict1)  # {'name': '张三', 'age': 18, 'gender': '女', 'height': 200}

(3)修改字典中的元素

dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict1['name'] = '李四'
print(dict1)  # {'name': '李四', 'age': 18, 'gender': '女'}

(4)删除字典中的元素

# 方式1  pop()
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict1.pop('age')
print(dict1)  # {'name': '张三', 'gender': '女'}

# 方式2  popitem()  默认删除最后一个元素
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict1.popitem()
print(dict1)  # {'name': '张三', 'age': 18}

# 方式3 clear() 表示清空字典
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict1.clear()
print(dict1)  # {}