Python基本数据结构之字典类型dict用法分析
在Python中,字典类型(dict)是一种非常常见的数据类型。它可以存储键值对(key-value pairs),其中每个键(key)都是唯一的,对应的值(value)可以是任何数据类型。这里我们详细讲解字典类型(dict)的用法。
字典的创建
字典类型(dict)的创建非常简单,可以使用以下两种方式:
直接创建
字典可以通过花括号 { } 直接创建,并且键值对使用冒号分割,每个键值对之间使用逗号分割。
# 创建一个空字典
empty_dict = {}
# 创建一个非空字典
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
使用dict()函数
dict也可以通过dict()函数进行创建。
# 创建一个空字典
empty_dict = dict()
# 创建一个非空字典
non_empty_dict = dict(key1='value1', key2=2, key3=[1, 2, 3])
字典的访问
字典类型(dict)的访问方式非常简单,通过中括号 [ ] 访问指定的键(key)即可。
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 访问指定键(key)
value1 = non_empty_dict['key1']
如果访问的键(key)不存在,会抛出KeyError异常。
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 访问不存在的键(key)
non_empty_dict['key4'] # KeyError: 'key4'
为了避免抛出异常,可以使用get()方法访问指定的键(key)。
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 使用get()方法访问指定键(key)
value = non_empty_dict.get('key4')
# 如果不存在,则返回默认值
value_default = non_empty_dict.get('key4', 'default_value')
字典的添加和修改
字典类型(dict)的添加和修改操作非常类似,使用中括号 [ ] 访问指定的键(key)即可。
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 添加键(key),值(value)
non_empty_dict['key4'] = 'value4'
# 修改键(key)的值
non_empty_dict['key2'] = 'new_value'
字典的删除
字典类型(dict)可以使用del语句或者pop()方法来删除指定的键值对(key-value pair)。
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 使用del语句删除键值对(key-value pair)
del non_empty_dict['key1']
# 使用pop()方法删除键值对(key-value pair),同时获取其值
value2 = non_empty_dict.pop('key2')
字典的遍历
字典类型(dict)提供了通过键(key)遍历的方式和通过键值对(key-value pair)遍历的方式两种方法。
通过键(key)遍历
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 通过键遍历
for key in non_empty_dict:
print(f'key: {key}, value: {non_empty_dict[key]}')
通过键值对(key-value pair)遍历
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 通过键值对遍历
for key, value in non_empty_dict.items():
print(f'key: {key}, value: {value}')
示例
示例1
下面是一个通过字典统计单词频率的示例。
text = "I am a developer. I love coding. I love Python."
# 将文本转为小写,并且去除标点符号
words = text.lower().replace('.', '').split()
# 统计单词出现次数
word_freq = {}
for word in words:
if word in word_freq:
word_freq[word] += 1
else:
word_freq[word] = 1
# 输出结果
for key, value in word_freq.items():
print(f'{key}\t{value}')
输出结果为:
i 2
am 1
a 1
developer 1
love 2
coding 1
python 1
示例2
下面是一个通过字典快速查找字符串的示例。在这个例子中,我们创建一个字典,其中键(key)是字符串的开头字符,值(value)是以这个字符开头的所有字符串列表。
words = [
"apple",
"banana",
"cat",
"dog",
"elephant",
"frog",
"giraffe",
"hotdog",
"icecream",
"jelly",
"kiwi",
"lemon",
"mango",
"noodle",
"orange",
"pepper",
"queen",
"rabbit",
]
# 创建字典
word_dict = {}
for word in words:
first_char = word[0]
if first_char in word_dict:
word_dict[first_char].append(word)
else:
word_dict[first_char] = [word]
# 查找
key = 'a'
if key in word_dict:
print(f"{key}: {word_dict[key]}")
else:
print(f"{key} not found")
输出结果为:
a: ['apple']
以上就是本文对Python字典类型(dict)用法的完整攻略,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基本数据结构之字典类型dict用法分析 - Python技术站