文章目录
- 一、字典
- 1.创建字典
- 2.访问字典元素
- 3.修改字典元素
- 4.添加字典元素
- 5.删除字典元素
- 二、字典的常见操作
- 1.遍历字典
- 2.获取键列表和值列表
- 3.检查键是否存在
- 4.获取键的值
- 三、字典内置函数&方法
- 1.内置函数len()
- 2.内置函数str()
- 3.内置函数type()
- 4.内置方法
- 四、总结
一、字典
Python中的字典(Dictionary)是一种无序的、可变的数据类型,用于存储键值对。字典使用大括号 {} 来表示,每个键值对之间使用冒号 : 分隔,键值对之间使用逗号 , 分隔。
字典的特性:
字典中的键必须是唯一的,但值可以重复。
字典是无序的,即字典中的键值对没有固定的顺序。
字典中的值可以是任意数据类型,包括整数、字符串、列表、元组、甚至其他字典。
1.创建字典
字典(dictionary)由键(key)和值(value)组成,用冒号(:)分隔。每对键和值之间用逗号(,)分隔,并且整个字典用花括号({})包裹起来。
# 创建一个空字典
empty_dict = {}
# 创建一个字典
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 也可以使用内置函数 dict 来创建一个字典
my_dict = dict(name='Bob', age=30, gender='male')
2.访问字典元素
可以使用方括号([])访问字典中的元素,括号中是键名。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 访问 name 键的值
print(my_dict['name']) # 输出 'Alice'
# 如果键不存在,会报错
print(my_dict['height']) # 报错:KeyError: 'height'
还可以使用 get() 方法访问字典中的元素,括号中是键名。如果键不存在,则返回一个默认值(如果没有指定默认值,则返回 None)。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 访问 name 键的值
print(my_dict.get('name')) # 输出 'Alice'
# 如果键不存在,返回默认值
print(my_dict.get('height', 'unknown')) # 输出 'unknown'
3.修改字典元素
字典中的元素可以通过访问它们并重新赋值来修改。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 修改 name 键的值
my_dict['name'] = 'Bob'
print(my_dict) # 输出 {'name': 'Bob', 'age': 25, 'gender': 'female'}
4.添加字典元素
可以使用方括号([])和等号(=)来添加新键值对。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 添加一个新键值对
my_dict['height'] = 165
print(my_dict) # 输出 {'name': 'Alice', 'age': 25, 'gender': 'female', 'height': 165}
5.删除字典元素
可以使用 del 关键字删除字典中的元素。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 删除 age 键值对
del my_dict['age']
print(my_dict) # 输出 {'name': 'Alice', 'gender': 'female'}
二、字典的常见操作
1.遍历字典
可以使用 for 循环遍历字典中的所有键值对。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 遍历字典
for key, value in my_dict.items():
print(key, value)
2.获取键列表和值列表
可以使用 keys() 方法获取字典中所有的键,并使用 values() 方法获取字典中所有的值。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 获取键列表
keys = my_dict.keys()
print(keys) # 输出 ['name', 'age', 'gender']
# 获取值列表
values = my_dict.values()
print(values) # 输出 ['Alice', 25, 'female']
3.检查键是否存在
可以使用 in 关键字检查字典中是否存在某个键。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 检查是否存在 name 键
if 'name' in my_dict:
print('name exists') # 输出 'name exists'
4.获取键的值
可以使用 setdefault() 方法获取键的值。如果键不存在,则设置一个默认值并返回。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 获取 name 键的值
name = my_dict.setdefault('name', 'unknown')
print(name) # 输出 'Alice'
# 获取 height 键的值(不存在,则返回默认值)
height = my_dict.setdefault('height', 165)
print(height) # 输出 165
三、字典内置函数&方法
1.内置函数len()
在Python中,我们可以使用len()方法来计算字典中键-值对的数量。通过计算字典的长度,我们可以很方便地了解字典中包含多少个键-值对,从而对字典进行相应的操作。
# 定义一个字典
dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 计算字典中键-值对的数量
dict_len = len(dict)
# 输出字典的长度
print("字典的长度是:", dict_len) # 输出 3
2.内置函数str()
字典 str() 方法返回字典的字符串表示形式。
# 定义字典
dict = {'Name': 'Bob', 'Age': 25, 'City': 'Shanghai'}
# 将字典转换为字符串
str_dict = str(dict)
# 输出转换后的字符串
print("字典-字符串: ", str_dict) # 输出 字典-字符串: {'Name': 'Bob', 'Age': 25, 'City': 'Shanghai'}
注意事项
在使用字典 str() 方法时,需要注意以下几个问题:
- 如果字典中的键或值是布尔值、数字或字符串,则将键和值转换为字符串后,用冒号将它们分隔开,并用逗号将多个键值对隔开。如果存在多个键相同的键值对,则只会保留一个。
- 如果字典中的值是类或函数对象,则将对象的地址作为其字符串表示形式。
- 如果字典中的值是列表或字典等可变对象,则转换后的字符串表示形式中可能包含很多嵌套符号。
综上,字典 str() 方法可以将字典转换成字符串,但是需要注意上述问题。
3.内置函数type()
我们可以使用type()方法来判断一个对象是否为字典类型,示例代码如下:
my_dict_1 = {"key1": "value1", "key2": "value2", "key3": "value3"}
my_dict_2 = [1, 2, 3]
my_dict_3 = "string"
print(type(my_dict_1) == dict) # True
print(type(my_dict_2) == dict) # False
print(type(my_dict_3) == dict) # False
我们还可以通过type()方法来进行强制类型转换,将一个对象转换为字典类型,示例代码如下:
my_str = '{"key1": "value1", "key2": "value2", "key3": "value3"}'
my_dict = dict(eval(my_str))
print(my_dict) # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
print(type(my_dict)) # <class 'dict'>
4.内置方法
序号 | 函数及描述 |
---|---|
1 | dict.clear()删除字典内所有元素 |
2 | dict.copy()返回一个字典的浅复制 |
3 | dict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
4 | dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值 |
5 | key in dict 如果键在字典dict里返回true,否则返回false |
6 | dict.items()以列表返回一个视图对象 |
7 | dict.keys()返回一个视图对象 |
8 | dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | dict.update(dict2) 把字典dict2的键/值对更新到dict里 |
10 | dict.values() 返回一个视图对象 |
11 | pop(key[,default]) 删除字典 key(键)所对应的值,返回被删除的值。 |
12 | popitem() 返回并删除字典中的最后一对键和值。 |
四、总结
今天主要讲了Python的字典。
感谢你的观看!