Python处理键映射值操作详解
在Python编程中,字典(dictionary)是一种常用的数据类型,它是一个无序的键(key)和值(value)的集合,使用键来取出对应的值。在字典中,键必须是唯一的,而值则是可以重复的。本文将详细介绍Python中字典的键映射值操作。
字典的定义与创建
在Python中,可以使用两种方式来定义字典:
- 使用花括号{}来创建空字典,然后通过键值对的形式添加元素。
- 使用函数dict()来创建字典。
下面是使用字典的两种方式来创建一个字典的示例:
# 创建空字典
empty_dict = {}
print(empty_dict)
# 使用键值对方式添加元素
person = {"name": "Sophia", "age": 25, "gender": "female"}
print(person)
# 使用字典方法fromkeys()创建字典
keys = ["name", "age", "gender"]
values = ["Jack", 33, "male"]
person = dict.fromkeys(keys, values)
print(person)
输出结果如下:
{}
{'name': 'Sophia', 'age': 25, 'gender': 'female'}
{'name': ['Jack', 33, 'male'], 'age': ['Jack', 33, 'male'], 'gender': ['Jack', 33, 'male']}
访问字典中的值
在字典中访问值时,可以通过键进行访问。如果键不存在将会引发KeyError异常。如下面的示例所示:
person = {"name": "Sophia", "age": 25, "gender": "female"}
# 访问存在的键
print(person["name"])
print(person.get("age"))
# 访问不存在的键
#print(person["phone"]) # 报错 KeyError: 'phone'
print(person.get("phone")) # 返回None
输出结果如下:
Sophia
25
None
修改字典中的值
在Python中,可以通过键来修改字典中的值。如果键不存在,则会创建一个新的键值对。如下面的示例所示:
person = {"name": "Sophia", "age": 25, "gender": "female"}
# 修改键值对
person["name"] = "Lily"
person["phone"] = "(123) 456-7890"
print(person)
输出结果如下:
{'name': 'Lily', 'age': 25, 'gender': 'female', 'phone': '(123) 456-7890'}
删除字典中的元素
在Python中,可以使用del语句来删除字典中的元素。可以通过键来删除对应的键值对,也可以使用clear()方法来清空整个字典。如下面的示例所示:
person = {"name": "Sophia", "age": 25, "gender": "female"}
# 删除键值对
del person["gender"]
print(person)
# 清空字典
person.clear()
print(person)
输出结果如下:
{'name': 'Sophia', 'age': 25}
{}
遍历字典
在Python中,可以使用for循环遍历字典中的所有元素,也可以使用items()方法来获取所有键值对。如下面的示例所示:
person = {"name": "Sophia", "age": 25, "gender": "female"}
# 遍历所有键
for key in person:
print(f"{key}: {person[key]}")
# 遍历所有键值对
for key, value in person.items():
print(f"{key}: {value}")
输出结果如下:
name: Sophia
age: 25
gender: female
name: Sophia
age: 25
gender: female
示例1:统计一段文本中每个单词出现的次数
text = "Python is an interpreted, high-level, general-purpose programming language. \
Created by Guido van Rossum and first released in 1991, Python's design philosophy \
emphasizes code readability with its notable use of significant whitespace."
words = text.split() # 将文本分割成单词列表
word_count = {} # 初始化空字典
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 输出结果
for key, value in word_count.items():
print(f"{key}: {value}")
输出结果如下:
Python: 1
is: 1
an: 1
interpreted,: 1
high-level,: 1
general-purpose: 1
programming: 1
language.: 1
Created: 1
by: 1
Guido: 1
van: 1
Rossum: 1
and: 1
first: 1
released: 1
in: 1
1991,: 1
Python's: 1
design: 1
philosophy: 1
emphasizes: 1
code: 1
readability: 1
with: 1
its: 1
notable: 1
use: 1
of: 1
significant: 1
whitespace.: 1
示例2:将列表中的元素去重
lst = [1, 2, 3, 2, 3, 4, 5, 4, 5, 6, 7, 8, 7, 8, 9, 0, 9, 0]
unique_lst = list(set(lst)) # 获取去重后的列表
print(unique_lst)
输出结果如下:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
以上就是Python处理键映射值操作的详细攻略,如果你对字典的运用还有更多的疑问,可以参考Python标准库中提供的字典相关函数和方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python处理键映射值操作详解 - Python技术站