ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python中字典及其常用方法

2021-09-23 21:34:12  阅读:164  来源: 互联网

标签:常用 name Python school 编译 dictA print hobby 字典


字典:也是一种重要数据类型,由 【键值对】组成的集合,通常使用键来访问数据,效率非常高,和列表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', '跳舞')]

标签:常用,name,Python,school,编译,dictA,print,hobby,字典
来源: https://www.cnblogs.com/yingsilu/p/15327538.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有