Python常用数据结构——字典
什么是字典
字典是Python中一个非常常用的数据结构,它是一个键值对的无序集合,每个键对应一个值。键可以是任何不可修改的数据类型,如字符串、数字或元组,而值则可以是任何数据类型。
字典的构造方式是用花括号 {}
括起来,键值对之间使用冒号 :
分隔,键值对之间使用逗号 ,
分隔。
下面是一个简单的字典示例:
my_dict = {'apple': 5, 'banana': 7, 'orange': 3}
字典的常用操作
访问字典中的键值对
可以使用方括号 []
运算符来访问字典中的键值对,例如:
my_dict = {'apple': 5, 'banana': 7, 'orange': 3}
print(my_dict['apple']) # output: 5
向字典中添加新键值对
可以使用方括号 []
运算符来添加新键值对,例如:
my_dict = {'apple': 5, 'banana': 7, 'orange': 3}
my_dict['peach'] = 4
print(my_dict) # output: {'apple': 5, 'banana': 7, 'orange': 3, 'peach': 4}
修改字典中的键值对
可以使用方括号 []
运算符来修改字典中的键值对,例如:
my_dict = {'apple': 5, 'banana': 7, 'orange': 3}
my_dict['apple'] = 3
print(my_dict) # output: {'apple': 3, 'banana': 7, 'orange': 3}
删除字典中的键值对
可以使用 del
关键字来删除字典中的键值对,例如:
my_dict = {'apple': 5, 'banana': 7, 'orange': 3}
del my_dict['apple']
print(my_dict) # output: {'banana': 7, 'orange': 3}
获取字典中所有键
可以使用 keys()
方法获取字典中所有键,例如:
my_dict = {'apple': 5, 'banana': 7, 'orange': 3}
print(my_dict.keys()) # output: dict_keys(['apple', 'banana', 'orange'])
获取字典中所有值
可以使用 values()
方法获取字典中所有值,例如:
my_dict = {'apple': 5, 'banana': 7, 'orange': 3}
print(my_dict.values()) # output: dict_values([5, 7, 3])
获取字典中所有键值对
可以使用 items()
方法获取字典中所有键值对,例如:
my_dict = {'apple': 5, 'banana': 7, 'orange': 3}
print(my_dict.items()) # output: dict_items([('apple', 5), ('banana', 7), ('orange', 3)])
示例
示例一:字典的遍历
my_dict = {'apple': 5, 'banana': 7, 'orange': 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 + ":" + str(value))
输出结果:
apple
banana
orange
5
7
3
apple:5
banana:7
orange:3
示例二:计算字符串中每个字母出现的次数
my_str = "hello, world!"
my_dict = {}
for ch in my_str:
if ch not in my_dict:
my_dict[ch] = 1
else:
my_dict[ch] += 1
print(my_dict)
输出结果:
{'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1, '!': 1}
这个示例中,我们遍历了字符串中的每个字符,如果这个字符不在字典 my_dict
中,那么我们就将这个字符加入字典中,并将出现次数初始化为 1;否则,我们就将这个字符的出现次数加 1。最后输出字典 my_dict
,即可得到每个字母出现的次数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python常用数据结构字典梳理 - Python技术站