首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第一章:基础知识
数据与数据类型
数值取值范围
可变与不可变
第二章:输出格式控制
输出函数
str.format()
f-string
字符串拼接
解包输出
示例:正整数 a+b
第三章:接收键盘输入数据
输入函数
示例1.2 正整数a+b
对象
对象属性
第四章:代码规范
变量命名规范
注释
输入输出相关内置函数
第五章:常用数据类型
字符串
列表
元组
集合
字典
当前位置:
首页>>
技术小册>>
Python合辑1-Python语言基础
小册名称:Python合辑1-Python语言基础
字典是Python中一个非常有用的原生数据类型,一般序列是用连续的整数作为索引,而字典是以关键字作为索引,且关键字要是任意不可变类型。理解字典时可以把它看做无序的键:值对(key:value对)集合,同一个字典中键必须互不相同,利用{}可以初始化一个空的字典。 ``` In [77]: dict1 = {} In [78]: type(dict1) Out[78]: dict ``` 如果确保一个键不在字典中,可以利用下面的方法向字典中添加元素。 ``` In [81]: dict1 = {'a':1,'b':2} In [82]: dict1['c'] = 3 In [83]: dict1 Out[83]: {'a': 1, 'b': 2, 'c': 3} ``` 而如果这个键已经存在于字典中了,就表示为这个键赋值。 ``` In [84]: dict1['b']=4 In [85]: dict1 Out[85]: {'a': 1, 'b': 4, 'c': 3} ``` keys()方法能够一次性获得字典中所有的键,values()方法则用来获取值,items()则是获取键值对的元组形式。 ``` In [86]: list(dict1.keys()) Out[86]: ['a', 'b', 'c'] In [87]: list(dict1.values()) Out[87]: [1, 4, 3] In [88]: list(dict1.items()) Out[88]: [('a', 1), ('b', 4), ('c', 3)] ``` 元组形式或者列表中嵌套的元组的形式都可以转换成字典,因为要保持不可变性。 ``` In [89]: dict2 = dict([('e',5),('f',6)]) In [90]: dict2 Out[90]: {'e': 5, 'f': 6} In [91]: dict3 = dict((('g',7),('h',8))) In [92]: dict3 Out[92]: {'g': 7, 'h': 8} ``` 当然也可以通过'='赋值的形式创建一个字典。 ``` In [93]: dict5 = dict(i = 8,j = 9) In [94]: dict5 Out[94]: {'i': 8, 'j': 9} ``` 查询一个键是否存在一个列表中。 ``` In [96]: 'i' in dict5 Out[96]: True In [97]: 'a' in dict5 Out[97]: False ``` 根据键查询对应值的两种方式: - 1、直接利用键的名字索引,不足的是如果字典中没有这个键则会发生报错。 - 2、利用get方法,可以设置不存在键名的情况下的返回值,默认返回None。 ``` In [98]: dict5['i'] Out[98]: 8 In [99]: dict5['a'] KeyError: 'a' In [101]: dict5.get('i') Out[101]: 8 In [103]: dict5.get('a',"没有") Out[103]: '没有' ``` 字典中的几种删除方式: - 1、pop()方法,与列表不同的是必须要传入一个字典中已有键的参数。 - 2、popitem(),类似于列表中的pop(),随机删除一组键值对而非删除最后一个,因为字典本身无序。 - 3、del方法,用于删除整个字典 ``` In [107]: dict3 Out[107]: {'g': 7, 'h': 8} In [109]: dict3.pop('g') Out[109]: 7 In [110]: dict3.popitem() Out[110]: ('h', 8) ``` clear()方法可以清楚字典中所有的键值对。 ``` In [104]: dict5.clear() In [105]: dict5 Out[105]: {} ``` setdefault()方法可以传入一组键值对,如果字典中已有同名键,则返回键在字典中对应的值,否则将传入的键值对存入字典中。 ``` In [115]: dict2 Out[115]: {'e': 5, 'f': 6} In [117]: dict2.setdefault('e',1) Out[117]: 5 In [118]: dict2.setdefault('g',7) Out[118]: 7 In [119]: dict2 Out[119]: {'e': 5, 'f': 6, 'g': 7} ``` update()方法可以用来更新字典: - 如果字典中已有传入的键,则更新键对应的值。 - 如果没有,则将传入的键值对存入字典中。 ``` In [121]: dict2.update({'g':10}) In [122]: dict2 Out[122]: {'e': 5, 'f': 6, 'g': 10} In [123]: dict2.update(dict1) In [124]: dict2 Out[124]: {'e': 5, 'f': 6, 'g': 10, 'a': 1, 'b': 4, 'c': 3} ```
上一篇:
集合
该分类下的相关小册推荐:
Python合辑7-集合、列表与元组
Python合辑4-130个字符串操作示例
剑指Python(磨刀不误砍柴工)
Python编程轻松进阶(五)
Python机器学习基础教程(下)
Python高并发编程与实战
Python合辑8-变量和运算符
Python合辑3-字符串用法深度总结
Python神经网络入门与实践
Python合辑12-面向对象
Python编程轻松进阶(三)
Python合辑10-函数