一、字典基础知识
Python中的字典是一种可变容器类型,用于存储键值对,它是通过 {key1:value1, key2:value2} 的形式创建的。其中,key必须是唯一的,而且是不可变的,value则可以是任何Python对象。字典是无序的,即不同于列表和元组,它们是通过位置来索引的。字典可用于快速查找和比较数据。
二、字典循环遍历
1. for循环
dic = {'name':'Alice', 'age':20, 'gender':'female'}
for key in dic:
print(key, dic[key])
输出结果:
name Alice
age 20
gender female
在for循环中遍历字典时,默认会遍历字典的键。如果需要遍历键-值对,则可以使用items()方法:
dic = {'name':'Alice', 'age':20, 'gender':'female'}
for key, value in dic.items():
print(key, value)
输出结果:
name Alice
age 20
gender female
2. while循环
使用while循环遍历字典也是可行的,常用于在遇到特定键或值时停止遍历。下面是一个例子:
dic = {'name':'Alice', 'age':20, 'gender':'female'}
keys = list(dic.keys())
i = 0
while i < len(keys):
key = keys[i]
print(key, dic[key])
i += 1
输出结果:
name Alice
age 20
gender female
三、字典排序
1. sorted()函数
Python的内置函数sorted()可以对实现了__getitem__()方法的对象进行排序,例如列表,元组和字典等。要对字典进行排序,只需以键-值对列表的形式将其传递给sorted()函数,并在key参数中指定适当的排序值。
dic = {'name':'Alice', 'age':20, 'gender':'female'}
sorted_dict = sorted(dic.items(), key=lambda x:x[1])
for i in sorted_dict:
print(i[0], i[1])
输出结果:
age 20
name Alice
gender female
2. OrderedDict()函数
有序字典是一种在键-值对之间保持顺序的字典,在Python中可以使用collections模块中的OrderedDict()函数创建它。以下是一个从小到大按年龄排序的示例:
from collections import OrderedDict
dic = OrderedDict()
dic['name'] = 'Alice'
dic['age'] = 20
dic['gender'] = 'female'
sorted_dict = OrderedDict(sorted(dic.items(), key=lambda x:x[1]))
for i in sorted_dict:
print(i, dic[i])
输出结果:
age 20
name Alice
gender female
四、字典推导式
字典推导式是一种快速创建字典的方法,基本的语法形式为{key:value for key, value in iterable}。以下是一个从小到大按年龄排序的示例:
dic = {'name':'Alice', 'age':20, 'gender':'female'}
new_dic = {key:dic[key] for key in sorted(dic, key=lambda x:dic[x])}
print(new_dic)
输出结果:
{'age': 20, 'name': 'Alice', 'gender': 'female'}
五、字典的常用函数
1. len()
用于返回字典中的键-值对数量。例如:
dic = {'name':'Alice', 'age':20, 'gender':'female'}
print(len(dic))
输出结果:
3
2. max()
用于返回字典中的最大键-值对。例如:
dic = {'name':'Alice', 'age':20, 'gender':'female'}
print(max(dic.items(), key=lambda x:x[1]))
输出结果:
('age', 20)
3. min()
用于返回字典中的最小键-值对。例如:
dic = {'name':'Alice', 'age':20, 'gender':'female'}
print(min(dic.items(), key=lambda x:x[1]))
输出结果:
('name', 'Alice')
六、总结
在Python中,字典是很常见的数据结构,而且因为其键-值对的特点,使其在开发中非常实用。通过本文的介绍,我们可以了解到如何遍历字典、排序字典、使用字典推导式以及一些常用函数的使用方法。