• 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard-数据类型-字典

1小时前
70
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

Python中的字典(dict)是一种可变容器模型,且可存储任意类型对象。字典的每个元素都是一个键值对(key-value pair),键(key)必须是唯一的,而值(value)则不必。字典使用大括号 {} 来表示,键和值之间使用冒号 : 分隔,键值对之间使用逗号 , 分隔。

在Python中创建字典的方法:一种是使用大括号 {} 和键值对语法,另一种是使用 dict() 函数和关键字参数。

示例代码:

# 使用大括号创建字典

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}  # 创建一个包含姓名、年龄和城市的字典

# 使用 dict() 函数创建字典

another_dict = dict(name='Jane', age=25, city='Los Angeles')  # 使用 dict() 函数创建另一个字典

print(my_dict)  # 打印第一个字典

print(another_dict)  # 打印第二个字典

代码效果:

{'name': 'John', 'age': 30, 'city': 'New York'}

{'name': 'Jane', 'age': 25, 'city': 'Los Angeles'}

访问字典中的值您可以通过键来访问字典中的值。如果键不存在,Python 会抛出一个KeyError。为了避免这种错误,您可以使用 get() 方法,该方法在键不存在时会返回 None 或您指定的默认值。

示例代码:

# 访问值

print(my_dict['name'])  # 输出: John,访问并打印'name'键对应的值

# 使用 get() 方法

print(my_dict.get('job'))  # 输出: None,因为 'job' 键不存在,使用 get() 方法返回 None

print(my_dict.get('job', 'Not specified'))  # 输出: Not specified,指定默认值为 'Not specified'

代码效果:

John

None

Not specified

如何在Python字典中修改值、添加新的键值对以及删除元素。

示例代码:

# 修改字典

# 您可以通过赋值来修改字典中的值,或者添加新的键值对。

# 修改值

my_dict['age'] = 31  # 将 'age' 键对应的值修改为 31

# 添加新的键值对

my_dict['job'] = 'Engineer'  # 添加一个新的键 'job',值为 'Engineer'

print(my_dict)  # 打印更新后的字典

# 删除字典中的元素

# 您可以使用 del 语句或 pop() 方法来删除字典中的元素。pop() 方法会返回被删除的值。

# 使用 del 语句删除键值对

del my_dict['city']  # 使用 del 语句删除 'city' 键及其对应的值

# 使用 pop() 方法删除键值对并获取值

job = my_dict.pop('job', 'Not found')  # 如果 'job' 不存在,返回 'Not found',并将删除的值赋给变量 job

print(my_dict)  # 打印删除后的字典

print(job)  # 输出: Engineer,打印被删除的 'job' 的值

代码效果:

{'name': 'John', 'age': 31, 'city': 'New York', 'job': 'Engineer'}

{'name': 'John', 'age': 31}

Engineer

如何在Python中遍历字典的键、值以及键值对。

示例代码:

# 字典的遍历

# 您可以遍历字典的键、值或键值对。

# 遍历键

for key in my_dict:  # 循环遍历字典中的所有键

print(key)  # 打印每一个键

# 遍历值

for value in my_dict.values():  # 循环遍历字典中的所有值

print(value)  # 打印每一个值

# 遍历键值对

for key, value in my_dict.items():  # 循环遍历字典中的所有键值对

print(key, value)  # 打印键及其对应的值

代码效果:

name

age

John

31

name John

age 31

相关推荐

关注我,嵌入式学习少走弯路!