Python中字典及其常用方法

字典:也是一种重要数据类型,由 【键值对】组成的集合,通常使用键来访问数据,效率非常高,和列表list一样,支持对数据的增、删、改操作。

1、字典的特点:
(1)不是顺序类型,没有下标概念,是一个无序的键值集合,是Python内置的高级数据类型。
(2)用{ }来表示字典对象,每个键值对用逗号分隔。
(3)键必须是不可变类型:元组、字符串。而值可以是任意类型。
(4)每个键必定是唯一的,如果存在重复的键,后者会覆盖前者。

2、字典的常用方法:
(1) 创建字典:
dictA = {"school": "湖南文理", "hobby": "唱歌"}    # 键值对之间以逗号分隔
dict = {} # 空字典
(2)字典的类型:
print(type(dictA))        # 编译结果:<class 'dict'>
(3)输出该字典:
print(dictA)
(4)添加元素:
dictA["name"] = "小明"    # 编译: {'school': '湖南文理', 'hobby': '唱歌', 'name': '小明'},前面为键,后面为值。
(5) 数据项长度:
print(len(dictA))      # 编译结果:3 ,3个键值对
(6)输出某一个键对应的值:
print(dictA["name"])   # 编译结果:小明
(7)只输出所有的键
print(dictA.keys())    # 编译结果:dict_keys(['school', 'hobby', 'name'])
(8)只输出所有的值
print(dictA.values())    # 编译结果:dict_values(['湖南文理', '唱歌', '小花'])
(9)获取所有的【键值对】:
print(dictA.items())    # 编译结果:dict_items([('school', '湖南文理'), ('hobby', '唱歌'), ('name', '小花')])
(10)for循环遍历获取:
for a in dictA.items():    # 编译结果:('school', '湖南文理') ('hobby', '唱歌') ('name', '小花')
print(a)
(11)for循环对应获取:
for key, value in dictA.items():
print("%s==%s" % (key, value))    # 编译结果:school==湖南文理 hobby==唱歌 name==小花

修改键对应的值
dictA["name"] = "小花"     # 编译结果:{'school': '湖南文理', 'hobby': '唱歌', 'name': '小花'}
(12)增添或修改:(当有该关键字就是修改)
dictA.update({"height": 1.80})    # 输出结果:{'school': '湖南文理', 'hobby': '唱歌', 'name': '小花', 'height': 1.8}
(13)删除操作:
del dictA["name"]    # 输出结果:{'school': '湖南文理', 'hobby': '唱歌', 'height': 1.8}
dictA.pop("height")   # 输出结果:{'school': '湖南文理', 'hobby': '唱歌'}

排序输出:
dictC = {"height": "1.8", "school": "白马湖", "hobby": "跳舞", 'name': '小花', }
(14)按照key对字典进行排序输出:d[0]是关键字,d[1]是value.
print(sorted(dictC.items(), key=lambda d: d[0]))    # 编译结果:[('height', '1.8'), ('hobby', '跳舞'), ('name', '小花'), ('school', '白马湖')]
(15)按照value对字典进行排序输出:
print(sorted(dictC.items(), key=lambda d: d[1]))    # 编译结果:[('height', '1.8'), ('name', '小花'), ('school', '白马湖'), ('hobby', '跳舞')]

上一篇:【图像压缩】基于小波变换图像压缩含Matlab源码


下一篇:MySQL日志管理、备份与恢复,断点