如何使用Python内置函数dict()创建字典类型?
Python内置的dict()函数是一种用于创建字典的重要函数。在此文中,我将描述如何使用这个函数来创建并初始化一个字典。
什么是Python字典?
在Python编程语言中,字典是一种映射类型的数据结构,它允许将键值对组成的集合映射到各自的值上。与列表或元组不同,字典没有顺序,键值对可以随意添加、删除或更改。字典通常用于表示关联数组,缓存,以及简洁地AR解决方案。
如何使用Python内置的dict()函数?
使用Python内置的dict()函数创建字典可以非常方便。要创建一个新的空字典,只需要调用dict()即可:
my_dict = dict()
print(my_dict)
这将输出一个空的字典{}。
为了创建具有初始值的字典,可以将包含键值对元组的序列传递给dict()函数。然后,转换后的字典将包含每个键值对的键作为字典中的键,并将值作为字典中的值。例如,以下代码将创建一个包含城市名称和它们所在国家的数据结构:
city_dict = dict([('Beijing', 'China'), ('Washington D.C.', 'USA'), ('Ottawa', 'Canada')])
注意,上面的键值对元组必须包含两个值, 个是键,第二个是值。您可以自己选择这些键和值的类型和数据。另外,请确保键是不可变(如字符串或元组)以保证可哈希。
现在,我们可以使用字典的键来查找它们的值:
print(city_dict['Beijing'])
#这将输出'China'
当然,你也可以在创建字典时使用更简单的语法——字典推导。像列表推导一样,字典推导允许您从另一个序列或可迭代对象创建字典。例如,以下代码将创建一个字典,其中每个键都是整数数字,值是该数字乘2:
my_dict = {x: x*2 for x in range(1, 11)}
print(my_dict)
这将输出:{1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18, 10: 20}。
除了列表和区间对象之外,您还可以使用条件语句,生成器表达式和其他语言功能来创建整个字典。
在字典中添加或修改键值对
字典可以包含任意数量的键值对,并且可以在创建后添加或修改。可以使用赋值语句来添加新的键和相应的值:
my_dict = {}
my_dict['name'] = 'John'
my_dict['age'] = 30
print(my_dict)
这将输出:{'name': 'John', 'age': 30}。
如果键被重复添加,则相应的值将被新值覆盖:
#首先创建一个带有单个键值对元素的字典
my_dict = {'color': 'blue'}
print(my_dict)
#将'color'键的值更改为'red'
my_dict['color'] = 'red'
print(my_dict)
与修改键的方法相同,您可以使用del语句删除字典中的键值对:
#先创建一个字典避免出现键值对不存在
my_dict = {'city': 'Beijing', 'name': 'John', 'age': 30}
print(my_dict)
#删除'name'键值对
del my_dict['name']
print(my_dict)
#删除所有键值对
my_dict.clear()
print(my_dict)
访问Python字典中的值
可以使用键来访问Python字典中的值。如果该键存在于字典中,则dict[key]将返回相应的值:
#首先为字典添加一个键值对
my_dict = {'name': 'John'}
print(my_dict['name'])
但是如果键值对不存在,则会引发KeyError异常。为了避免这种情况下中断程序,可以使用get()方法访问值。get()方法在键不存在时返回None而不是引发异常:
#首先为字典添加一个键值对
my_dict = {'name': 'John'}
print(my_dict.get('age'))
如果get()方法用于不存在的键,则返回None:
my_dict = {'name': 'John'}
print(my_dict.get('age')) #输出None
可以在get()方法的第二个参数中指定一个默认值,以便在键不存在时返回:
my_dict = {'name': 'John'}
print(my_dict.get('age', 'Invalid key')) #输出'Invalid key'
结语
Python的dict()函数是一种非常有用的函数,用于创建非常常见且重要的数据结构。可以轻松创建并修改字典,以便在编程期间合理地存储和管理数据。通过熟悉这些功能,您可以更好地利用字典,使Python编程更加快捷,轻松。
