一、字典的基础概念
字典是一种用于存储和组织数据的数据类型,在Python中以花括号 {} 来表示。它由一系列键值对组成,每个键值对之间用逗号分隔。其中,键和值之间使用冒号 : 进行分割。
# 字典的创建
dict1 = {'Alice': 24, 'Bob': 27, 'Cathy': 22}
# 字典的读取
print(dict1['Bob']) # 输出 27
# 字典的修改
dict1['Alice'] = 25
print(dict1) # 输出 {'Alice': 25, 'Bob': 27, 'Cathy': 22}
# 字典的删除
del dict1['Cathy']
print(dict1) # 输出 {'Alice': 25, 'Bob': 27}
字典的一个重要特点是,它的键必须是唯一的。如果有两个键重复了,后面的那个键会覆盖前面的键,例如:
dict2 = {'Alice': 24, 'Bob': 27, 'Cathy': 22, 'Bob': 30}
print(dict2) # 输出 {'Alice': 24, 'Bob': 30, 'Cathy': 22}
二、字典的操作
1. 添加键值对
向字典中添加一个新键值对,可以使用变量名后面的方括号 [],并在方括号内指定新键,再指定新值即可。
# 创建一个空的字典
dict3 = {}
# 添加新键值对
dict3['Alice'] = 25
dict3['Bob'] = 27
dict3['Cathy'] = 22
print(dict3) # 输出 {'Alice': 25, 'Bob': 27, 'Cathy': 22}
2. 获取键值对
获取字典中的某个键对应的值,可以通过用方括号 [] 指定键名来实现。
print(dict1['Alice']) # 输出 25
如果需要获取字典中所有的键值对可以使用items()函数,它会返回一个由所有键值对组成的列表,其中每个键值对以元组的形式存储。
print(dict1.items()) # 输出 dict_items([('Alice', 25), ('Bob', 27)])
3. 修改键值对
与添加键值对时相似,修改字典中的某个键对应的值,只需要用相应的键名访问它,并赋一个新值。
dict1['Alice'] = 26
print(dict1) # 输出 {'Alice': 26, 'Bob': 27}
4. 删除键值对
要删除字典中的某个键值对,可以使用Python内置的del语句,并在其后加上要删除的键名。
del dict1['Alice']
print(dict1) # 输出 {'Bob': 27}
5. 遍历字典
使用items()函数可以遍历字典中的所有键值对,每次迭代时,该函数返回一个键值对元组。
for key, value in dict1.items():
print(key + ': ' + str(value))
三、字典的应用
1. 统计单词频率
可以使用字典来计算文本中单词的频率。首先要将文本分割成单词列表,然后遍历列表中的每个单词,并将出现次数存储在一个字典中。
text = 'Python is a powerful high-level programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming.'
word_list = text.split(' ')
word_dict = {}
for word in word_list:
if word not in word_dict:
word_dict[word] = 1
else:
word_dict[word] += 1
print(word_dict) # 输出 {'Python': 1, 'is': 1, 'a': 1, 'powerful': 1, 'high-level': 2, 'programming': 2, 'language.': 1, 'It': 1, 'has': 1, 'efficient': 1, 'data': 1, 'structures': 1, 'and': 1, 'simple': 1, 'but': 1, 'effective': 1, 'approach': 1, 'to': 1, 'object-oriented': 1}
2. 解析CSV文件
CSV是一种常见的数据格式,可以使用字典来解析并操作CSV文件中的数据。例如,以下CSV文件记录了一些人的名字和电话号码:
Alice,123456 Bob,987654 Cathy,556677
可以使用Python内置的csv模块来解析该文件,并将数据存储在一个字典中。
import csv
with open('data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
dict4 = {rows[0]:rows[1] for rows in reader}
print(dict4) # 输出 {'Alice': '123456', 'Bob': '987654', 'Cathy': '556677'}
3. 数据库查询结果处理
在数据库查询结果中,通常返回的数据是以字典的形式进行封装和返回。例如,在MySQL中使用Python操作数据库查询时,每一行数据会以字典的形式返回。
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='1234', db='test')
cursor = db.cursor()
# 执行查询语句
sql = "SELECT * FROM Employee"
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
# 打印记录
for row in results:
print("ID=%s, Name=%s, Age=%s, Gender=%s" % (row['id'], row['name'], row['age'], row['gender']))
# 关闭数据库连接
db.close()
四、总结
在Python中,字典是一种非常有用的数据类型,常用于索引、查找和组织数据等操作。在实际使用中,我们可以通过添加键值对、获取键值对、修改键值对、删除键值对和遍历字典等方式,对字典进行操作。除此之外,字典还有许多应用场景,例如统计单词频率、解析CSV文件、处理数据库查询结果等。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/187519.html
微信扫一扫
支付宝扫一扫