数字
非十进制数
小数
浮点数在计算机硬件中以二进制分数形式实现,因为计算机仅理解二进制(0和1)。由于这个原因,我们知道的大多数十进制小数不能准确地存储在我们的计算机中。
我们不能将分数1/3表示为十进制数。这将给出0.33333333 …无限长,我们只能对其进行近似。
原来的十进制小数0.1会导致无限长的二进制分数0.000110011001100110011 …而我们的计算机只存储了有限数量的二进制数。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E7eQM2vu-1683716579615)(null)]
解决方法:
使用Python随附的十进制模块。浮点数的精度最高可以达到15个小数位,而十进制模块具有用户可设置的精度。
分数
通过其fractions模块提供涉及小数的运算。
从float创建分数时,我们可能会得到一些异常的结果。这是由于上一节中讨论的二进制浮点数表示不完善所致。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dSBOL7L5-1683716579694)(null)]
数学
math和random可以执行不同的数学运算,例如三角函数,对数,概率和统计等。
math
random
列表(list)
创建
通过将所有项目(元素)放在方括号[]中并用逗号分隔来创建列表。
它可以具有任意数量的项目,并且它们可以具有不同的类型(整数,浮点数,字符串等)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gZVFKLbm-1683716579647)(null)]
一个列表甚至可以将另一个列表作为项目。这称为嵌套列表。
索引
索引从0开始。因此,包含5个元素的列表的索引从0到4。索引必须是整数。我们不能使用float或其他类型,这将导致TypeError。
负索引
Python允许对其序列进行负索引。索引-1表示最后一项,-2表示倒数第二项,依此类推。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kYisM3KU-1683716579679)(null)]
示意图:
切片操作
可以使用切片运算符(冒号:)访问列表中的一系列项目。
更改、增添元素
直接用赋值运算符(=)来更改元素
使用append()方法将一个项目添加到列表中,或者使用extend()方法将多个项目添加到列表中。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vxd8KhQK-1683716579623)(null)]
还可以使用+运算符组合两个列表。这也称为串联。*运算符重复给定次数的列表。
此外,我们可以使用insert()方法在需要的位置插入一个项,或者通过将多个项压缩到列表的一个空切片中来插入多个项。
删除元素
使用关键字del
从列表中删除一个或多个项。它甚至可以完全删除列表。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z3VFCps7-1683716579710)(null)]
使用remove()方法删除给定项目,也可以使用pop()方法删除给定索引处的项目。
如果未提供索引,则pop()方法将删除并返回最后一项。这有助于我们将列表实现为堆栈(先进先出数据结构)。
还可以使用该clear()方法清空列表。
还可以通过为元素切片分配一个空列表来删除列表中的项目
【区间左闭右开】
列表方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hIiNeEP6-1683716579672)(null)]
示例:
列表理解:创建列表的优雅方式
列表理解是从Python现有列表中创建新列表的一种简洁明了的方法。
列表理解包含一个表达式,后跟方括号内的for语句。
列表推导可以选择包含更多for或if语句。可选if语句可以过滤出新列表的项目。
例子:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DehOnnLG-1683716579720)(null)]
其他操作
使用关键字in来测试一个项目是否存在于一个列表中。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zVdGLI0N-1683716579656)(null)]
是否存在于一个列表中。
[外链图片转存中…(img-ynYm5Svx-1683716576471)]