Python 官方文档:入门教程 => 点击学习
一、字典(dict)概念 字典是另一种可变容器模型,且可存储任意类型对象如字符串、数字、元组等其他容器模型,因为字典是无序的所以不支持索引和切片。 二、字典(dict)的定义 一般格式: 字典的每个键
字典是另一种可变容器模型,且可存储任意类型对象如字符串、数字、元组等其他容器模型,因为字典是无序的所以不支持索引和切片。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示
d = {key1 : value1, key2 : value2, key3 : value3 }
例子
dict_data = {'name': '王华', 'age': 23, 'sex': '男', '班级': '计算机一班'}
结果如下:
:::info
注意:dict 作为python的关键字和内置函数,变量名不建议命名为 dict 。
:::
格式:字典名={ } 或者 字典名= dict{ }
# 使用大括号{}来创建空字典dict_data = {}# 打印字典print(dict_data)# 查看字典类型print(type(dict_data))
以上代码输出结果为:
{}<class 'dict'>
在使用 dict() 创建字典时,在小括号 () 内要以 key=value 的形式编写。
dict()是Python内置的一个数据类型,也被称为字典或映射,它是一个无序的键值对集合。每个键(key)必须是唯一的,而值(value)可以是任意的Python对象。下面是dict()的一些主要特性:
一个dict()是由一系列键值对组成的无序集合,其中每个键对应一个唯一的值。下面是一个简单的例子:
# 创建一个字典my_dict = {'apple': 2, 'banana': 3, 'orange': 4}print(my_dict) # 打印结果如下{'apple': 2, 'banana': 3, 'orange': 4}
dict()是可变的对象,这意味着可以添加、删除或修改它的键值对。下面是一个例子:
# 修改字典中的值my_dict['apple'] = 5# 打印结果如下{'apple': 5, 'banana': 3, 'orange': 4}
dict()中的每个键必须是唯一的。如果试图将一个已经存在的键再次添加到dict()中,将会覆盖该键对应的原值。下面是一个例子:
# 添加一个新的键值对my_dict['pear'] = 1# 尝试将一个已经存在的键再次添加到字典中my_dict['apple'] = 6# 打印结果如下{'apple': 6, 'banana': 3, 'orange': 4, 'pear': 1}
dict()中的值可以是任意Python对象,包括其他的dict()、列表、元组、数字、字符串等。下面是一个例子:
# 字典中的值可以是列表my_dict['fruits'] = ['apple', 'banana', 'orange']# 字典中的值可以是字典my_dict['colors'] = {'apple': 'red', 'banana': 'yellow', 'orange': 'orange'}# 输出结果如下'fruits': ['apple', 'banana', 'orange'],'colors': {'apple': 'red', 'banana': 'yellow', 'orange': 'orange'}}
len()函数可以用于获取字典中键值对的数量。下面是一个例子:
# 获取字典中键值对的数量print(len(my_dict))# 输出结果如下6
键可以是任意可哈希(hashable)的对象,例如数字、字符串、元组等。不过,列表和字典这样的可变对象是不能作为键的。下面是一个例子:
# 使用元组作为键my_dict[('apple', 'red')] = 2# 尝试使用列表作为键# my_dict[['apple', 'red']] = 2 # 会报错
可以使用for循环迭代字典的键、值或键值对。下面是一个例子:
# 迭代字典的键for key in my_dict: print(key)# 迭代字典的值for value in my_dict.values(): print(value)# 迭代字典的键值对for key, value in
Python中的字典(dict())有一些内置的函数可以用于操作和处理字典:
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}length = len(my_dict)print(length) # 输出:3
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}keys = my_dict.keys()print(keys) # 输出:dict_keys(['apple', 'banana', 'orange'])
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}values = my_dict.values()print(values) # 输出:dict_values([2, 3, 4])
# 此方法也是字典转列表my_dict = {'apple': 2, 'banana': 3, 'orange': 4}items = my_dict.items()print(items) # 输出:dict_items([('apple', 2), ('banana', 3), ('orange', 4)])
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}my_dict.clear()print(my_dict) # 输出:{}
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}new_dict = my_dict.copy()print(new_dict) # 输出:{'apple': 2, 'banana': 3, 'orange': 4}
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}value = my_dict.pop('apple')print(value) # 输出:2print(my_dict) # 输出:{'banana': 3, 'orange': 4}value = my_dict.pop('pear', 0)print(value) # 输出:0
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}item = my_dict.popitem()print(item) # 输出:('orange', 4)print(my_dict) # 输出:{'apple': 2, 'banana': 3}
# 语法my_dict.update(other_dict)# 示例my_dict = {'apple': 2, 'banana': 3, 'orange': 4}new_dict = {'pear': 1, 'banana': 5}my_dict.update(new_dict)print(my_dict) # 输出:{'apple': 2, 'banana': 5, 'orange': 4, 'pear': 1}
可以使用 **del **关键字删除一个字典或字典中的键值对。
# 删除整个字典,只需使用 del 加上字典的名称my_dict = {'apple': 2, 'banana': 3, 'orange': 4}del my_dict # 删除整个字典# 删除字典中的某个键值对,需要使用 del 加上字典中需要删除的键my_dict = {'apple': 2, 'banana': 3, 'orange': 4}del my_dict['banana'] # 删除键为 'banana' 的键值对
注意:需要注意的是,del 关键字删除的是变量本身,而不是其指向的对象。因此,如果有其他变量也指向同一个字典对象,那么删除其中一个变量后,其他变量仍然可以访问该字典对象
例如:
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}other_dict = my_dictdel my_dict # 删除 my_dict 变量print(other_dict) # 输出:{'apple': 2, 'banana': 3, 'orange': 4}
str() 函数将字典对象转换成一个字符串,字符串的格式为 {key1: value1, key2: value2, …}
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}my_str = str(my_dict)print(my_str) # 输出:{'apple': 2, 'banana': 3, 'orange': 4}
举例:列表(list)转字典(dict)
my_list = [('apple', 2), ('banana', 3), ('orange', 4)]my_dict = dict(my_list)print(my_dict) # 输出:{'apple': 2, 'banana': 3, 'orange': 4}
在Python中,字典(dict())有三种取值方式:
my_list = [('apple', 2), ('banana', 3), ('orange', 4)]my_dict = dict(my_list)print(my_dict) # 输出:{'apple': 2, 'banana': 3, 'orange': 4}
可以通过字典的键获取对应的值,用法如下:
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}value = my_dict['apple']print(value) # 输出:2
也可以使用get()方法获取字典中对应键的值,如果键不存在,返回指定的默认值(默认为None),用法如下:
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}value = my_dict.get('apple')print(value) # 输出:2value = my_dict.get('pear', 0)print(value) # 输出:0
可以遍历字典获取每个键和对应的值,用法如下:
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}for key, value in my_dict.items(): print(key, value)# 输出:# apple 2# banana 3# orange 4
需要注意的是,如果尝试通过不存在的键获取值,会触发KeyError异常。因此,在获取字典中的值时,最好先判断键是否存在,可以使用in关键字或**keys()**方法来实现,例如:
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}if 'apple' in my_dict: print(my_dict['apple']) # 输出:2if 'pear' not in my_dict.keys(): print('pear is not in the dict')
来源地址:https://blog.csdn.net/m0_50816276/article/details/130297660
--结束END--
本文标题: Python 中字典dict详解
本文链接: https://lsjlt.com/news/388940.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0