博客
关于我
python基础变量之---字典
阅读量:796 次
发布时间:2023-03-07

本文共 1910 字,大约阅读时间需要 6 分钟。

字典

1. 字典介绍

字典是Python中的一种可变容器,能够存储任意类型的对象。它通过键(key)和值(value)的映射关系来组织数据,键和值之间用冒号分隔,对之间用逗号分隔。字典的形式通常为:

d = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

需要注意的是,字典的数据是无序的,键必须使用不可变类型且不能重复。字典的键可以用来作为索引,但不能使用整数索引。

2. 字典创建

字典是可以修改数据的数据容器,列表的元素存放在对应的下标处,但字典没有固定的下标顺序。字典的元素可以重复。

正确的字典创建方式

dict1 = {}
print(dict1) # 输出: {}
dict1 = {'name': 'zhl', 'age': 21, 'sex': 'male'}
print(dict1) # 输出: {'name': 'zhl', 'age': 21, 'sex': 'male'}

可能存在的问题

如果键名重复,只有最后一个会被保留:

x4 = {'name': 'zhl', 'age': 21, 'name': 'wh'}
print(x4) # 输出: {'name': 'wh', 'age': 21}

同样,键不能是可变类型,例如列表:

x5 = {[10, 20]: 'zhl'}
print(x5) # 输出: TypeError: unhashable type: 'list'

3. 字典操作

字典支持增、删、改、查四种基本操作。

修改操作

修改或添加键值对:

x = {'name': 'zhl', 'age': 21, 'sex': 'male'}
x['age'] = 100 # 修改键值对
print(x) # 输出: {'name': 'zhl', 'age': 100, 'sex': 'male'}
x['aihao'] = 'youyong'
print(x) # 输出: {'name': 'zhl', 'age': 100, 'sex': 'male', 'aihao': 'youyong'}

检查键是否存在:

print('name' in x)          # 输出: True
print('name' not in x) # 输出: False
print('name' in x.keys()) # 输出: True
print('name' in x.values()) # 输出: False

删除操作

删除键值对:

x = {'name': 'zhl', 'age': 21, 'sex': 'male'}
del x['name']
print(x) # 输出: {'age': 21, 'sex': 'male'}

4. 常用API

清空字典

使用 clear 方法:

dict1 = {'name': '张三', 'age': 18, 'sex': '男'}
dict1.clear()
print(dict1) # 输出: {}

复制字典

使用 copy 方法:

dict1 = {'name': '张三', 'age': 18, 'sex': '男'}
dict2 = dict1.copy()
print(dict2) # 输出: {'name': '张三', 'age': 18, 'sex': '男'}

获取键值对

使用 get 方法:

d2 = dict1.get('name', None)
print(d2) # 输出: '张三'

获取所有键值对

使用 items 方法:

for k, v in dict1.items():
print(k, v)

获取所有键

使用 keys 方法:

print(dict1.keys())  # 输出: dict_keys(['name', 'age', 'sex'])

更新字典

使用 update 方法:

dict2 = {'name': '李四', 'age': 16}
dict1.update(dict2)
print(dict1) # 输出: {'name': '李四', 'age': 16, 'sex': '男'}

删除键值对

使用 pop 方法:

n = dict1.pop('name')
print(n) # 输出: '李四'
print(dict1) # 输出: {'age': 16, 'sex': '男'}

转载地址:http://foofk.baihongyu.com/

你可能感兴趣的文章