📅  最后修改于: 2023-12-03 14:46:47.620000             🧑  作者: Mango
在Python中,字典是一种无序的键值对数据结构。它非常常用,在各个领域都有广泛的应用。
字典的基本结构如下:
my_dict = {
key1: value1,
key2: value2,
...
}
其中,key
是一个唯一的字符串或数字,value
可以是任何数据类型。可以使用下标操作符[]
来访问字典中的元素,也可以使用get()
方法来访问。
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict['a']) # 输出 1
print(my_dict.get('b')) # 输出 2
字典也支持遍历。可以使用keys()
、values()
或items()
方法来获取字典中的键、值或键值对。
my_dict = {'a': 1, 'b': 2, 'c': 3}
for key in my_dict.keys():
print(key)
for value in my_dict.values():
print(value)
for key, value in my_dict.items():
print(key, value)
字典推导式是创建字典的一种高效方式。
my_dict = {key: value for key, value in zip(['a', 'b', 'c'], [1, 2, 3])}
print(my_dict) # 输出 {'a': 1, 'b': 2, 'c': 3}
defaultdict
是collections
模块中的一个类,可以设置默认值。当访问字典中不存在的键时,返回设定的默认值。
from collections import defaultdict
my_dict = defaultdict(int)
print(my_dict['a']) # 输出 0
my_dict = defaultdict(list)
print(my_dict['a']) # 输出 []
Counter
是collections
模块中的一个类,可以统计序列中每个元素出现的次数。它返回一个字典,其中键为序列中出现的元素,值为该元素出现的次数。
from collections import Counter
my_list = ['a', 'b', 'c', 'b', 'a', 'a']
my_counter = Counter(my_list)
print(my_counter) # 输出 Counter({'a': 3, 'b': 2, 'c': 1})
OrderedDict
是collections
模块中的一个类,可以记录字典中元素的插入顺序。
from collections import OrderedDict
my_dict = OrderedDict()
my_dict['a'] = 1
my_dict['b'] = 2
my_dict['c'] = 3
print(my_dict) # 输出 OrderedDict([('a', 1), ('b', 2), ('c', 3)])
ChainMap
是collections
模块中的一个类,可以将多个字典合并成一个字典。如果有重复的键,保留第一个字典中的键值对。
from collections import ChainMap
my_dict_1 = {'a': 1, 'b': 2}
my_dict_2 = {'c': 3, 'd': 4}
my_chainmap = ChainMap(my_dict_1, my_dict_2)
print(my_chainmap['a']) # 输出 1
print(my_chainmap['c']) # 输出 3
字典是Python中非常重要的数据结构,通过本文介绍,你应该已经掌握了字典的基础使用方法、高级用法和几个常用的字典类。希望它们能够帮助你提高开发效率。