Python字典是一种灵活、可变且可迭代的容器,可以存储成对的键值对,使用键来快速访问值。
一、字典的基本用法
字典使用一对花括号{}来表示,冒号":"分隔键和值,逗号","分隔不同的键值对。
# 创建一个简单字典 my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'} # 访问键值对 print(my_dict['name']) # 输出:Alice print(my_dict['age']) # 输出:25 # 增加键值对 my_dict['city'] = 'Shanghai' # 更新字典值 my_dict['age'] = 26 # 删除键值对 del my_dict['gender'] # 遍历字典 for key, value in my_dict.items(): print(key + ': ' + str(value))
字典中的键必须是唯一的,但是值可以重复。值可以是任何数据类型,包括数字、字符串、列表和其他的字典。
二、字典的高级用法
1、字典推导式
字典推导式是一种快速创建字典的方法,可以使用条件逻辑等表达式来生成键值对。
# 创建一个数字字典的例子 number_dict = {x: x**2 for x in range(1,5)} print(number_dict) # 输出:{1: 1, 2: 4, 3: 9, 4: 16} # 创建一个筛选符合条件的键值对的例子 original_dict = {'apple': 1, 'banana': 2, 'orange':3, 'watermelon':4} new_dict = {k:v for k,v in original_dict.items() if v>2} print(new_dict) # 输出:{'orange': 3, 'watermelon': 4}
2、字典的函数
Python字典提供了许多实用的函数,来方便我们对字典进行操作。
(1)len()
用于计算字典元素个数。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'} print(len(my_dict)) # 输出:3
(2)keys()
用于返回字典中的所有键。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'} print(my_dict.keys()) # 输出:dict_keys(['name', 'age', 'gender'])
(3)values()
用于返回字典中的所有值。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'} print(my_dict.values()) # 输出:dict_values(['Alice', 25, 'Female'])
(4)items()
用于返回字典中的所有键值对。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'} print(my_dict.items()) # 输出:dict_items([('name', 'Alice'), ('age', 25), ('gender', 'Female')])
三、字典的应用举例
1、计数器
利用字典的键值对来实现计数器,可以方便快捷地计算出一个列表或字符串中每个元素出现的次数。
string = "hello world" counter = {} for i in string: if i in counter: counter[i] += 1 else: counter[i] = 1 print(counter) # 输出:{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
2、查找表
将若干个键值对组成一个字典,找到一个键对应的值可以达到O(1)的时间复杂度,这种方法被称为查找表,可以用于词频统计、数据转换等场景。
# 将数字转化为英文字母的查找表 lookup_table = {1: 'one', 2: 'two', 3: 'three'} number = 2 print(lookup_table[number]) # 输出:two
3、嵌套字典
字典里可以嵌套字典,用来表示更复杂的数据结构。
# 嵌套字典的例子 car_dict = { "car1": { "brand": "Ford", "model": "Mustang", "year": 1964 }, "car2": { "brand": "Tesla", "model": "Model X", "year": 2019 }, "car3": { "brand": "Toyota", "model": "Corolla", "year": 2020 } } print(car_dict['car2']['model']) # 输出:Model X
总结
Python字典是一种非常常用的数据结构,可以实现快速的查找和存储数据。
在使用字典的时候,可以使用字典推导式、内置函数和嵌套字典等高级用法,提高代码的效率和便捷性。
字典可以应用于查找表、计数器、嵌套字典等多种场景,发挥出非常优秀的性能。