一、字典的定义
字典是Python中的一种数据结构,它可以存储键值对(key-value pair)。每个键(key)都是唯一的,并且与它相关联的是一个值(value)。字典是无序的,可以根据键来访问和修改其中的值。字典使用花括号{}来定义,并使用冒号 : 来分隔键和值,每个键值对之间使用逗号来分隔。例如:
my_dict = {"name": "Alice", "age": 20, "city": "New York"}
字典特性的优点相对于列表,字典可以通过键快速获取值,而列表获取元素需要从列表的第一个元素开始逐个获取对应的内存地址;缺点要额外存储一些键。
二、字典的键与值
字典是一种Python数据类型,用于存储键值对。在字典中,键与值是成对出现的。
键(Key):键是字典中的唯一标识符,用于访问字典中的值。键必须是不可变的数据类型,如数字、字符串、元组等。同一个字典中,键是唯一的,不允许重复。
值(Value):值是与键关联的数据。可以是任意类型的数据,如数字、字符串、列表、字典等。
字典中的键值对是无序的,即不会按照插入顺序进行存储。不同于列表和元组,字典中的元素是没有索引的。要访问字典中的值,需要使用键来进行检索。
以下是一个示例字典:
my_dict = {"name": "John", "age": 25, "city": "New York"}
在这个字典中,键分别是"name"、"age"和"city",对应的值分别是"John"、25和"New York"。可以通过键来访问对应的值,例如my_dict["name"]
将返回"John"。
三、字典的常见操作
字典是Python中常用的数据结构之一,它是用来存储一组键值对的无序集合。常见的字典操作包括:
-
创建字典:可以使用大括号 {} 或者 dict() 函数来创建一个空字典,也可以直接在大括号中填入键值对来创建字典。
# 创建空字典 my_dict = {} # 创建带有初始键值对的字典 my_dict = {'key1': 'value1', 'key2': 'value2'} # 使用dict()函数创建字典 my_dict = dict()
-
访问字典元素:可以使用方括号 [] 加键名的方式来访问字典中的元素。
my_dict = {'name': 'Alice', 'age': 18} print(my_dict['name']) # 输出:Alice print(my_dict['age']) # 输出:18
-
修改字典元素:通过赋值给字典中的键,来修改字典中的元素。
my_dict = {'name': 'Alice', 'age': 18} my_dict['age'] = 20 print(my_dict['age']) # 输出:20
-
添加新元素:通过赋值给字典中不存在的键,来添加新的键值对。
my_dict = {'name': 'Alice', 'age': 18} my_dict['gender'] = 'female' print(my_dict['gender']) # 输出:female
-
删除元素:可以使用 del 关键字来删除字典中的键值对,也可以使用 pop() 方法来删除指定键名的键值对,并返回被删除的值。
my_dict = {'name': 'Alice', 'age': 18} del my_dict['age'] print(my_dict) # 输出:{'name': 'Alice'} age = my_dict.pop('age') print(age) # 输出:18
-
字典长度:可以使用 len() 函数来获取字典中键值对的数量。
my_dict = {'name': 'Alice', 'age': 18} length = len(my_dict) print(length) # 输出:2
-
遍历字典:可以使用 for 循环遍历字典中的键或者值,也可以使用 items() 方法同时获取键值对。
my_dict = {'name': 'Alice', 'age': 18} # 遍历键 for key in my_dict: print(key) # 输出:name age # 遍历值 for value in my_dict.values(): print(value) # 输出:Alice 18 # 遍历键和值 for key, value in my_dict.items(): print(key, value) # 输出:name Alice age 18
- 获取元素:可以使用 get() 方法通过键进行查询对应的值,如果键不存在返回None,也可以指定键不存在时返回默认的值。
my_dict = {'name': 'Alice', 'age': 18} print(my_dict.get("name")) print(my_dict.get("sex")) print(my_dict.get("2", 16)) # 输出结果为:Alice # None # 16