Python中的字典是一种无序的数据结构,可以高效地存储和访问键值对。Python中的字典是使用哈希表实现的,这使得字典的访问时间几乎是固定的,与字典的大小无关。
一、创建字典
要创建一个字典,可以使用花括号{}或者dict()函数。
# 使用{}创建字典
person = {'name': 'John', 'age': 25, 'address': 'New York'}
# 使用dict()函数创建字典
person = dict(name='John', age=25, address='New York')
在字典中,每个键都必须是唯一的。如果同一个键被多次赋值,只会保留最后一个值。
person = {'name': 'John', 'age': 25, 'address': 'New York', 'age': 30}
print(person['age']) #30
二、访问字典
要访问字典中的键值,可以使用中括号[]或者get()函数。如果键不存在,使用中括号会抛出键错误,而get()函数会返回None。
person = {'name': 'John', 'age': 25, 'address': 'New York'}
# 使用中括号访问键值
print(person['name']) #John
# 使用get()方法访问键值
print(person.get('address')) #New York
可以在使用中括号访问键值时,使用第二个参数作为默认值,以防止键错误。
person = {'name': 'John', 'age': 25, 'address': 'New York'}
print(person.get('phone', 'Not available')) #Not available
三、添加和修改字典
要向字典中添加或修改键值,可以使用中括号[]或者update()方法。
# 添加键值
person = {'name': 'John', 'age': 25, 'address': 'New York'}
person['phone'] = '555-1234'
# 修改键值
person['age'] = 30
# 使用update()方法添加或修改键值
person.update({'email': 'john@example.com', 'age': 35})
四、删除键值
要从字典中删除键值,可以使用del语句或者pop()方法。
# 删除键值
person = {'name': 'John', 'age': 25, 'address': 'New York'}
del person['address']
# 使用pop()方法删除键值
person.pop('age')
# 删除字典中所有键值
person.clear()
五、遍历字典
要遍历字典中的所有键值,可以使用for循环。可以使用keys()方法访问所有的键,也可以使用values()方法访问所有的值。还可以使用items()方法访问所有的键值对。
person = {'name': 'John', 'age': 25, 'address': 'New York'}
# 遍历所有的键
for key in person.keys():
print(key)
# 遍历所有的值
for value in person.values():
print(value)
# 遍历所有的键值对
for key, value in person.items():
print(key, value)
六、字典推导式
字典推导式可以根据已有的字典创建一个新的字典。可以使用if语句过滤需要的键值对。
person = {'name': 'John', 'age': 25, 'address': 'New York'}
# 创建新的字典
new_person = {key: value for key, value in person.items() if key != 'address'}
print(new_person)
七、使用defaultdict
defaultdict是一个字典子类,如果访问不存在的键,会返回一个默认值。这个默认值可以在创建defaultdict时指定。
from collections import defaultdict
# 创建默认值为int的defaultdict
d = defaultdict(int)
# 访问不存在的键,返回默认值0
print(d['a'])
# 默认值也可以是一个函数
s = 'mississippi'
d = defaultdict(int)
for letter in s:
d[letter] += 1
print(d)
八、使用Counter
Counter是一个字典子类,用于计数可哈希对象。它可以用于统计列表中各个元素出现的次数。
from collections import Counter # 计数列表中各个元素出现的次数 words = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple'] word_counts = Counter(words) print(word_counts)
九、总结
字典在Python编程中非常重要,可以高效地存储和访问键值对。本文介绍了如何创建、访问、添加、修改、删除和遍历字典,以及如何使用字典推导式、defaultdict和Counter。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/295704.html
微信扫一扫
支付宝扫一扫