什么是字典
在Python中,字典(dict)是一种无序的、可变的数据类型,用于存储键-值(key-value)对。字典中的键必须是唯一的,且不可变的数据类型(如字符串、数字、元组),而值可以是任何数据类型,包括其他字典、列表、函数等。
字典使用花括号{}来创建。例如:
my_dict = {'key1': 'value1', 'key2': 'value2'}
字典基本操作
添加元素:可以通过给一个新的键赋值来添加元素。
my_dict = {}
my_dict['name'] = 'zhangsan'
my_dict['age'] = 18
print(my_dict)
#输出结果为:{'name': 'zhangsan', 'age': 18}
修改元素:通过重新给已有的键赋值来修改值。
my_dict = {'name': 'Alice', 'age': 30}
my_dict['name'] = 'Bob'
print(my_dict)
#输出结果为:{'name': 'Bob', 'age': 30}
删除元素:可以使用del语句来删除字典中的键值对。
my_dict = {'name': 'Alice', 'age': 30}
del my_dict['age']
print(my_dict)
#输出结果为:{'name': 'Alice'}
也可以使用pop来删除字典中的键值对。
my_dict = {'name': 'Alice', 'age': 30}
my_dict.pop('age')
print(my_dict)
#输出结果为:{'name': 'Alice'}
查找元素:可以通过键来访问字典中的值。
my_dict = {'name': 'Alice', 'age': 30}
print(my_dict['name'])
#输出结果为:Alice
如果键不存在,会抛出一个键错误(KeyError)
我们也可以通过get()方法来查找字典中的值
my_dict = {'name': 'Alice', 'age': 30}
print(my_dict.get('name'))
#输出结果为:Alice
如果键不存在,会返回一个None
字典常用方法
keys()方法:返回一个可视图对象,包含字典中所有键。
my_dict = {'name': 'zhangsan', 'age': 18, 'height': 1.75}
print(my_dict.keys())
#输出结果为:dict_keys(['name', 'age', 'height']),这个对象可以被转换为列表,用于遍历或其他操作。
#遍历所有key
for key in my_dict.keys():
print(key)
values()方法:返回一个可视图对象,包含字典中所有值。
my_dict = {'name': 'zhangsan', 'age': 18, 'height': 1.75}
print(my_dict.values())
#输出结果为:dict_values(['zhangsan', 18, 1.75]),这个对象可以被转换为列表,用于遍历或其他操作。
#遍历所有的value
for value in my_dict.values():
print(value)
items()方法:返回一个可视图对象,包含字典中的所有键值对,每个键值对是一个元组。
my_dict = {'name': 'zhangsan', 'age': 18, 'height': 1.75}
print(my_dict.items())
#输出结果为:dict_items([('name', 'zhangsan'), ('age', 18), ('height', 1.75)])
#遍历所有的键值对
for key,value in my_dict.items():
print(key,value)
update()方法:可以将一个字典更新到另一个字典中。
dict1 = {'name': 'zhangsan', 'age': 18}
dict2 = {'score': 99, 'city': 'beijing'}
dict1.update(dict2)
print(dict1)
#输出结果为:{'name': 'zhangsan', 'age': 18, 'score': 99, 'city': 'beijing'}
get()方法:用于获取指定键的值。
my_dict = {'name': 'Alice', 'age': 30}
print(my_dict.get('name'))
#输出结果为:Alice
pop()方法:用于删除并返回指定键的值。如果键不存在,会抛出键错误。
my_dict = {'name': 'Alice', 'age': 30}
my_dict.pop('age')
print(my_dict)
#输出结果为:{'name': 'Alice'}