下面是Python中的字典及其使用方法的完整攻略:
什么是字典
Python中的字典(Dictionary)是一种无序的、可变的、可迭代的数据结构。它以键值对(key-value pairs)的形式存储数据,键值对之间用逗号分隔,而整个字典则用花括号括起来。字典中的键必须是不可变类型(如字符串、数值或元组),而值则可以是任何类型。
创建字典
要创建一个字典,可以使用花括号({})或dict()函数。以下是两种创建字典的方法:
# 方法一:使用花括号
person = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(person) # {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 方法二:使用dict()函数
person = dict(name='Bob', age=25, gender='male')
print(person) # {'name': 'Bob', 'age': 25, 'gender': 'male'}
在以上示例中,我们分别使用了花括号和dict()函数创建了两个字典,并分别给字典赋予了不同的键值对。
访问字典中的元素
访问字典中的元素只需要使用键来索引即可。如果指定的键不存在,则会抛出KeyError异常。以下是一个访问字典中元素的示例:
person = {'name': 'Charlie', 'age': 30, 'gender': 'male'}
print(person['name']) # Charlie
print(person['salary']) # KeyError: 'salary'
在以上示例中,我们使用person['name']获取了字典中键为'name'的元素,同时抛出了KeyError异常。
更新字典
可以使用键来给字典中的元素赋值,如果键不存在,则会新增一个键值对。以下是一个更新字典的示例:
person = {'name': 'David', 'age': 35, 'gender': 'male'}
person['age'] = 40 # 更新键'age'的值
person['salary'] = 5000 # 新增一个键值对
print(person) # {'name': 'David', 'age': 40, 'gender': 'male', 'salary': 5000}
在以上示例中,我们使用person['age']=40更新了字典中键'age'的值,person['salary'] = 5000新增了一个键值对。
删除字典中的元素
可以使用del语句来删除字典中的元素,也可以使用pop()方法删除指定的键值对。以下是一个删除字典中元素的示例:
person = {'name': 'Eve', 'age': 45, 'gender': 'female'}
del person['gender'] # 删除键'gender'
age = person.pop('age') # 删除键'age'并返回其对应的值
print(person) # {'name': 'Eve'}
print(age) # 45
在以上示例中,我们使用del语句和pop()方法删除了字典中的元素,并分别验证了其删除效果。
遍历字典
遍历字典中的元素可以使用for循环,也可以使用字典的items()方法。以下是两个遍历字典的示例:
# 示例1:使用for循环遍历
person = {'name': 'Frank', 'age': 50, 'gender': 'male'}
for key in person:
print(key, person[key])
# 示例2:使用items()方法遍历
person = {'name': 'Grace', 'age': 55, 'gender': 'female'}
for key, value in person.items():
print(key, value)
在以上示例中,我们分别使用for循环和items()方法遍历了字典中的元素,并输出了键和对应的值。
示例1:字典的应用实例
下面是一个使用字典实现学生成绩查询功能的示例:
grades = {
'Tom': [90, 85, 95],
'Jerry': [80, 95, 85],
'Alice': [95, 80, 90],
'Bob': [85, 90, 80],
}
name = input('请输入学生姓名:')
print(f'{name}的成绩为:{grades[name]}')
在以上示例中,我们使用字典存储了学生的姓名及其成绩列表,并根据用户输入的姓名查询学生对应的成绩。
示例2:字典的高级应用
下面是一个使用字典实现单词统计功能的示例:
text = 'this is a test text for counting words in python this is indeed a test text for counting words in python'
words = text.split() # 将文本分割成单词列表
word_count = {} # 初始化字典,用于存储单词统计结果
for word in words:
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
for word, count in word_count.items():
print(f'{word}: {count}')
在以上示例中,我们使用split()方法将文本分割成单词列表,然后使用字典存储每个单词出现的次数,并最终输出单词及其出现的次数。
这就是字典及其使用方法的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中的字典及其使用方法 - Python技术站