如何在Python中创建一个字典?
字典在Python中是一个非常有用的数据结构。它允许我们将键(key)与值(value)相关联。字典也称为哈希表(hash table)、映射(map)、关联数组(associative array)或散列表(hash)。
更多Python文章,请阅读:Python 教程
创建一个空字典
最简单的方法是使用花括号({})来创建一个空字典:
empty_dict = {}
print(empty_dict) # {}
创建有初始值的字典
除了空字典,我们还可以使用一对花括号来创建一个具有初始值的字典。在花括号中,每一对键值对都用冒号(:)分隔,并且键值对之间要用逗号(,)分隔。
person = {"name": "Alice", "age": 30, "city": "New York"}
print(person) # {"name": "Alice", "age": 30, "city": "New York"}
从两个列表创建字典
我们可以使用两个列表来创建字典。一个列表包含所有的键,另一个列表包含所有的值。注意,两个列表的长度必须相同。
keys = ["name", "age", "city"]
values = ["Alice", 30, "New York"]
person = dict(zip(keys, values))
print(person) # {"name": "Alice", "age": 30, "city": "New York"}
添加和更新字典的值
我们可以使用中括号([])来添加或更新字典的值。如果键已经存在,将会更新对应的值;否则将会添加一个新的键值对。
person = {"name": "Alice", "age": 30, "city": "New York"}
person["gender"] = "female"
print(person) # {"name": "Alice", "age": 30, "city": "New York", "gender": "female"}
person["age"] = 31
print(person) # {"name": "Alice", "age": 31, "city": "New York", "gender": "female"}
获取字典的值
我们可以使用中括号([])获取字典的值。如果键不存在,将会抛出 KeyError 异常。可以使用 get() 方法来获取值,如果键不存在,将返回 None。
person = {"name": "Alice", "age": 30, "city": "New York"}
print(person["name"]) # Alice
print(person.get("name")) # Alice
print(person["gender"]) # KeyError: 'gender'
print(person.get("gender")) # None
删除字典的值
我们可以使用 del 关键字来删除字典的值。
person = {"name": "Alice", "age": 30, "city": "New York"}
del person["age"]
print(person) # {"name": "Alice", "city": "New York"}
遍历字典的键和值
有很多种方法可以遍历字典。最常见的方法是使用 items() 方法来获取所有键值对,并使用 for 循环遍历它们。
person = {"name": "Alice", "age": 30, "city": "New York"}
# 遍历所有键值对
for key, value in person.items():
print(key + ": " + str(value))
# name: Alice
# age: 30
# city: New York
我们也可以使用 keys() 方法来遍历所有的键,或使用 values() 方法来遍历所有的值。
# 遍历所有的键
for key in person.keys():
print(key)
# name
# age
# city
# 遍历所有的值
for value in person.values():
print(value)
# Alice
# 30
# New York
结论
在Python中创建一个字典非常容易。我们可以使用空字典、有初始值的字典、两个列表、以及添加和更新方式来创建字典。我们也可以使用中括号([])和 get() 方法来获取字典的值,并使用 del 关键字来删除字典的值。最后,我们可以使用 items()、keys() 和 values() 方法来遍历字典的键和值。希望这篇文章对你在Python中使用字典有所帮助!