当前位置: 首页 > news >正文

Python 字典Dictionary简介

字典Dictionary

字典(Dictionary)是Python中一种可变的、有序的键值对集合。每个键(key)必须是唯一的且不可变的,值(value)可以是任意数据类型。

特点
  • 键值对
  • 可变性:可添加、修改、删除
  • 有序性:保持插入顺序
  • 键必须是不可变类型
  • 动态调整大小
创建字典
# 空字典
empty_dict = {}# 直接创建
person = {'name': 'migu', 'age': 42}# 嵌套字典
nested_dict = {'user1': {'name': 'zhangsan', 'age': 30},'user2': {'name': 'lisi', 'age': 35}
}# 从键值对创建
person = dict(name='zhangsan', age=30, city='shanghai')# 从可迭代对象创建
person = dict([('name', 'zhangsan'), ('age', 30)])# 从键的迭代器和值的迭代器创建
keys = ['name', 'age']
values = ['zhangsan', 30]
person = dict(zip(keys, values))# 字典推导式
# 创建数字平方的字典
squares = {x: x*x for x in range(5)}
print(squares)  # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}# 从列表创建字典
names = ['zhangsan', 'lisi', 'wangwu']
name_dict = {name: len(name) for name in names}
print(name_dict)  # 输出: {'zhangsan': 8, 'lisi': 4, 'wangwu': 6}
访问字典

get(key[, default]) # 如果键存在,返回其值;如果不存在,插入键并设置默认值

person = dict(name='zhangsan', age=30, city='shanghai')
print(person.get('name'))      # 输出: zhangsan
print(person.get('age'))    # 输出 : 30
print(person.get('city', 170))  # 输出: shanghaiheight = person.setdefault('height', 175)print(height)  # 输出: 175
print(person) # 输出: {'name': 'zhangsan', 'age': 30, 'city': 'shanghai', 'height': 175}
添加和修改元素
# 使用另一个字典或可迭代对象更新当前字典
dict1 = {'a': 1, 'b': 2}
dict1.update({'b': 3, 'c': 4})  # 更新b,添加c
print(dict1)  # 输出: {'a': 1, 'b': 3, 'c': 4}# 更新
dict1.update(d=5, e=6)
print(dict1)  # 输出: {'a': 1, 'b': 3, 'c': 4, 'd': 5, 'e': 6}
删除元素

# pop(key[, default]) 删除指定键并返回其值,如果键不存在且提供了默认值,则返回默认值,否则报错

v1 = person.pop('age') # 30
v2 = person.pop('sex', 'unknown')   # unknown

# popitem() 删除并返回最后插入的键值对(LIFO顺序)

v3 = dict1.popitem()   # 输出: ('e', 6)
print(v3)

# clear() 清空字典

person.clear()
print(person)  # 输出: {}
字典视图
dict1 = {'a': 1, 'b': 3, 'c': 4, 'd': 5, 'e': 6}
keys = dict1.keys()   # 返回字典所有键的视图对象
values = dict1.values() # 返回字典所有值的视图对象
items = dict1.items() # 返回字典所有键值对的视图对象
print(keys)  # 输出: dict_keys(['a', 'b', 'c', 'd', 'e'])   
print(values)  # 输出: dict_values([1, 3, 4, 5, 6])
print(items)  # 输出: dict_items([('a', 1), ('b', 3), ('c', 4), ('d', 5), ('e', 6)])
http://www.gsyq.cn/news/48424.html

相关文章:

  • 2025年船舶下水气囊生产厂家权威推荐榜单:平台底部支持气囊/高压橡胶气囊/沉箱移运气囊源头厂家精选
  • 实用指南:toLua[六] Examples 05_LuaCoroutine分析
  • 2025年石岛红光板源头厂家综合评测:石岛红石材/中国黑石材/五莲灰石材源头厂家精选
  • 2FSK 调制指数 、相关系数 、 频谱特性
  • 2025年山东艺考生文化课培训机构推荐:济南山师育才学校,艺考生文化课/全日制艺考生文化课/专注山东全日制教学
  • 2025年石家庄GEO推广公司权威推荐榜单:GEO排名优化/GEO营销/GEO招商源头公司精选
  • [电调]AM32电调调参系列 —— Motor KV参数分析
  • 剪映高级感口播字幕预设220M850款轻量合集,拖拽生成商业级动态文字(Win_Mac通用)
  • 手动清除Ubuntu系统中的内存缓存的步骤
  • VMware ESXi 8.0U3g 集成 RTL8111 / RTL8125 / RTL8126 / RTL8127 网卡驱动定制版
  • VMware ESXi 9.0.1.0 集成 RTL8111 / RTL8125 / RTL8126 / RTL8127 网卡驱动定制版
  • 基于微信小应用的垃圾分类管理系统【2026最新】
  • 完整教程:人体心率测量技术
  • 内江低噪音西林瓶灌装轧盖机选型,适配洁净车间
  • week3task
  • trick 选记
  • SpringBoot民宿管理系统l2548(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。 - 教程
  • Python 元组Tuple 简介
  • 算法-快速排序和归并排序
  • 思路
  • P14367 [JOISC 2018] 帐篷 / Tents
  • 代码加密技术 - 实践
  • Apache Struts远程代码执行漏洞CVE-2025-12703解析
  • python 单词搜索(回溯-矩阵-字符串-中等)含源码(二十) - 指南
  • PHP生成RSA密钥对及RSA签名验证类库
  • 2025年杭州维修手机培训公司权威推荐榜单:手机维修教程/手机屏幕维修/维修手机源头公司精选
  • 2025年A2级防火抗倍特板批发厂家权威推荐榜单:高压耐火墙面装饰板/手HPL防火板/隧道防火装饰板源头厂家精选
  • 11月13日打卡
  • Comparative linguistics
  • 2025 国产 ITSM 厂商选型全攻略:基础流程、智能赋能与全链路协同深度解析