dict 类型
dict 类型是 Python 中唯一的内置映射类型。它是一个无序的键值对集合,其中每个键都是唯一的,值可以是任意类型。
创建空的dict
python
# 使用{}定义
my_dict = {}
# 使用 dict() 函数
my_dict = dict()创建一个有元素的dict
python
# 使用{}定义
my_dict = {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
# 使用 dict() 函数
my_dict = dict(key1="value1", key2="value2", key3="value3")添加和更新元素到dict
python
my_dict = {}
# 添加元素
my_dict["key1"] = "value1"
my_dict["key2"] = "value2"
my_dict["key3"] = "value3"
# 更新元素
my_dict["key1"] = "new_value1"删除元素
python
# 删除键值对
# 使用del关键字
del my_dict["key1"]
# 使用pop()方法
my_dict.pop("key2")
# 使用popitem()方法
my_dict.popitem()检查键是否在dict中
python
my_dict = {"key1": "value1", "key2": "value2", "key3": "value3"}
# 使用 in 关键字
if "key1" in my_dict:
print("key1 is in my_dict")
# 使用 get() 方法
value = my_dict.get("key2")
if value:
print("key2 is in my_dict and its value is", value)遍历dict
python
my_dict = {"key1": "value1", "key2": "value2", "key3": "value3"}
# 遍历键
for key in my_dict:
print(key)
# 遍历值
for value in my_dict.values():
print(value)
# 遍历键值对
for key, value in my_dict.items():
print(key, value)获取dict的元素
python
my_dict = {"key1": "value1", "key2": "value2", "key3": "value3"}
# 获取键值对数量
print(len(my_dict))
# 获取所有键
print(my_dict.keys())
# 获取所有值
print(my_dict.values())
# 获取所有键值对
print(my_dict.items())
# 获取指定键的值
value = my_dict.get("key2")
print(value) // "value2"
# 获取指定键的值,如果不存在,则返回默认值
value = my_dict.get("key4", "default_value")
print(value) // "default_value"合并dict
python
my_dict1 = {"key1": "value1", "key2": "value2"}
my_dict2 = {"key3": "value3", "key4": "value4"}
# 合并
my_dict1.update(my_dict2)
print(my_dict1) // {"key1": "value1", "key2": "value2", "key3": "value3", "key4": "value4"}字典推导式
字典推导式是一种简洁的创建字典的方法。
python
# 字典推导式
my_dict = {x: x**2 for x in range(1, 6)}
print(my_dict) // {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
# 字典推导式嵌套
my_dict = {x: {y: y**2 for y in range(1, 4)} for x in range(1, 4)}
print(my_dict) // {1: {1: 1, 2: 4, 3: 9}, 2: {1: 1, 2: 4, 3: 9}, 3: {1: 1, 2: 4, 3: 9}}其他方法
clear():清空dictcopy():复制dictfromkeys():从指定键值对创建dictupdate():更新dictsetdefault():设置默认值pop():删除指定键值对popitem():随机删除键值对keys():获取所有键values():获取所有值items():获取所有键值对update():更新dictget():获取指定键的值len():获取键值对数量str():返回dict的字符串表示repr():返回dict的可读字符串表示cmp():比较两个dict是否相同sorted():对dict进行排序reversed():反转dicthas_key():判断键是否存在iterkeys():返回键的迭代器itervalues():返回值的迭代器iteritems():返回键值对的迭代器viewkeys():返回键的视图对象viewvalues():返回值的视图对象viewitems():返回键值对的视图对象