文章目录

  • 0.摘要
  • 1.布尔类型
  • 2.数值类型
  • 3.列表
  • 3.1创建列表
  • 3.2列表切片
  • 3.3向列表中新增项
  • 3.4在列表中检索值
  • 3.5从列表中删除元素
  • 3.6布尔上下文环境中的列表
  • 4.元组
  • 4.1布尔上下文环境中的元组
  • 4.2同时赋多个值
  • 5.集合
  • 5.1创建集合
  • 5.2修改集合
  • 5.3从集合中删除元素
  • 5.4常见集合操作
  • 5.5布尔上下文环境中的集合
  • 6.字典
  • 6.1创建字典
  • 6.2修改字典
  • 6.3混合值字典
  • 6.4布尔上下文环境中的字典
  • 7.None


0.摘要

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符中, 每个值都有一种数据类型,但您并不需要声明变量的数据类型。那该方式是如何运作的呢?python 数据类型 列表嵌套字典 python内嵌数据类型_运算符根据每个变量的初始赋值情况分析其类型,并在内部对其进行跟踪。我们将选择其中的一些进行介绍。

1.布尔类型

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符有两个被巧妙地命名为python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_04python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_05的常量,可用于对布尔类型的直接赋值。表达式也可以计算为布尔类型的值。在某些地方(如python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_06语句),python 数据类型 列表嵌套字典 python内嵌数据类型_运算符所预期的就是一个可计算出布尔类型值的表达式。这些地方称为布尔类型上下文环境。事实上,可在布尔类型上下文环境中使用任何表达式,而python 数据类型 列表嵌套字典 python内嵌数据类型_运算符将试图判断其真值。在布尔类型上下文环境中,不同的数据类型对于何值为真、何值为假有着不同的规则。

2.数值类型

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符同时支持python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_10[整型] 和python 数据类型 列表嵌套字典 python内嵌数据类型_Python_11[浮点型] 数值。无任何类型声明可用于区分;python 数据类型 列表嵌套字典 python内嵌数据类型_运算符通过是否有小数点来分辨它们。
  可通过python 数据类型 列表嵌套字典 python内嵌数据类型_Python_13显示的将python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_14转换为整数、浮点数。整数可以任意大,但是浮点数有精度限制。
  常见的运算符就不多说了,值得一提的是python 数据类型 列表嵌套字典 python内嵌数据类型_运算符中的python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_16运算符执行的是浮点数除法;python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_17运算符执行的是地板除,但是它不总是返回整数,当分子或分母为浮点数时,它依然会返回浮点数,比如python 数据类型 列表嵌套字典 python内嵌数据类型_Python_18会返回python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_19python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_20运算符是计算幂的,比如python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_21
  在布尔类型上下文环境中,非零整数为真,非python 数据类型 列表嵌套字典 python内嵌数据类型_Python_22浮点数为真。不过在使用浮点数时一定要注意误差。

3.列表

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符的主力数据类型。像使用数组一样使用列表,不过列表可以容纳任何对象,并在加入新元素时进行动态扩展。

3.1创建列表

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_24


  列表的索引从python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_25开始,负数索引相当于从列表尾部向前计数访问元素,以上面的图片为例,列表长度为python 数据类型 列表嵌套字典 python内嵌数据类型_Python_26,那么python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_27

3.2列表切片

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_28


  通过指定两个索引值,可以从列表中获取称作“切片”的某个部分,返回值是一个新列表。第一个索引值默认为python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_25,第二个索引值默认为列表的长度,左闭右开。

3.3向列表中新增项

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_30


  python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_31运算符包含两个步骤 — 连接然后赋值 — 当处理大型列表时,该操作可能(暂时)消耗大量内存。

  python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_32方法向列表的尾部添加一个新的元素。

  列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_33方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。

  python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_34方法将单个元素插入到列表中。第一个参数是列表中将被顶离原位的第一个元素的位置索引。

3.4在列表中检索值

python 数据类型 列表嵌套字典 python内嵌数据类型_Python_35


  python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_36方法返回了列表中某个特定值出现的次数。

  如果你想知道的是某个值是否出现在列表中,python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_37运算符将会比使用python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_36方法要略快一些。它总是返回python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_04python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_05,而不是告诉你该值出现在什么位置。

  如果想知道某个值在列表中的精确位置(第一次出现的位置),可调用python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_41方法。后两个参数用来指定搜索范围欸,左闭右开默认为整个列表。

  如果在列表中没有找到该值,python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_41方法将会引发一个错误。

3.5从列表中删除元素

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_43


  可使用python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_44语句从列表中删除某个特定元素,后面的元素将各自向前移动一位。

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_45


  python 数据类型 列表嵌套字典 python内嵌数据类型_Python_46方法接受一个python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_47参数,并删除列表中的第一个python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_47;如果找不到将会引发一个错误。你还可以发现,这个方法没有返回值。

python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_49


  python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_50方法接收一个python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_51参数,它将删除列表python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_51位置的元素并返回它的值;默认删除列表的最后一个元素。一个空列表调用这个方法或者python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_51越界都会引发错误。

3.6布尔上下文环境中的列表

python 数据类型 列表嵌套字典 python内嵌数据类型_Python_54


  非空列表为真。

4.元组

python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_55


  这里打错了,应该是元组。

  元组和列表的主要区别是元组不能进行修改。用技术术语来说,元组是不可变更的。从实践的角度来说,没有可用于修改元组的方法。python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_56python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_50这些方法元组都没有。可以对元组进行切片操作(因为该方法创建一个新的元组),可以检查元组是否包含了特定的值(因为该操作不修改元组),还可以……就那么多了。

  元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么请使用元组替代列表。

  对不需要改变的数据进行“写保护”将使得代码更加安全。

  一些元组可用作字典键(特别是包含字符串、数值和其它元组这样的不可变数据的元组)。列表永远不能当做字典键使用,因为列表不是不可变的。

4.1布尔上下文环境中的元组

python 数据类型 列表嵌套字典 python内嵌数据类型_Python_58


  非空元组为真,注意python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_59是一个空的元组;python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_60才是仅包含一个元素的元组,这个逗号至关重要。悄悄告诉你,其实圆括号也可以省去,python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_61也是一个元组。

4.2同时赋多个值

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_62

5.集合

python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_63是装有独特值的无序“袋子”。一个简单的集合可以包含任何数据类型的值。如果有两个集合,则可以执行像联合、交集以及集合求差等标准集合运算。

5.1创建集合

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_64


  要创建多值集合,请将值用逗号分开,并用花括号将所有值包裹起来。

python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_65


  注意集合是无序的。

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_66


  创建空集合请使用python 数据类型 列表嵌套字典 python内嵌数据类型_Python_67;一对不包含任何值的花括号将创建一个空字典。

5.2修改集合

python 数据类型 列表嵌套字典 python内嵌数据类型_Python_68


  python 数据类型 列表嵌套字典 python内嵌数据类型_Python_69方法接受单个可以是任何数据类型的参数,并将该值添加到集合之中。

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_70


  python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_71方法仅接受一个集合作为参数,并将其所有成员添加到初始列表中。其行为方式就像是对参数集合中的每个成员调用python 数据类型 列表嵌套字典 python内嵌数据类型_Python_69方法。

  实际上,可以带任何数量的参数调用python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_71方法。如果调用时传递了多个集合, 它会将每个集合中的每个成员添加到初始的集合当中(丢弃重复值)。

  python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_71方法还可接受一些其它数据类型的对象作为参数,包括列表。

5.3从集合中删除元素

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_75


  python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_76都接受一个单值作为参数,并从集合中删除该值。区别是当这个值不存在时,前者不抛出错误,后者会抛出错误。

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_77

python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_50方法从集合中删除某个值,并返回该值。然而,由于集合是无序的,并没有“最后一个”值的概念,因此无法控制删除的是哪一个值。它基本上是随机的。对空集合调用该方法会引发错误。
  python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_79方法删除集合中所有的值,留下一个空集合。它等价于python 数据类型 列表嵌套字典 python内嵌数据类型_Python_80,该语句创建一个新的空集合,并用之覆盖python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_81变量的之前的值。

5.4常见集合操作

python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_82


  要检测某值是否是集合的成员,可使用python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_37运算符。

  python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_84方法返回一个新集合,其中装着在两个集合中出现的元素。

  python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_85方法返回一个新集合,其中装着同时在两个集合中出现的所有元素。

  python 数据类型 列表嵌套字典 python内嵌数据类型_Python_86方法返回的新集合中,装着所有在python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_81出现但未在python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_88中的元素。

  python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_89方法返回一个新集合,其中装着所有只在其中一个集合中出现的元素。

  除了求差操作是不对称的,其它操作都是对称的。

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_90


  python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_81python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_88的子集— 所有python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_81的成员均为python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_88的成员;反过来可以说python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_95python 数据类型 列表嵌套字典 python内嵌数据类型_Python_96的超集。

5.5布尔上下文环境中的集合

python 数据类型 列表嵌套字典 python内嵌数据类型_Python_97


  非空集合为真。

6.字典

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符的字典为通过键获取值进行了优化,而不是反过来。

6.1创建字典

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_99


  可以通过python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_100访问字典中键python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_101对应的值,但是当python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_101不存在时,会抛出一个错误。

6.2修改字典

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_103


  在字典中不允许有重复的键。对现有的键赋值将会覆盖旧值。

  可随时添加新的键值对。该语法与修改现有值相同。

6.3混合值字典

  字典并非只能用于字符串。字典的值可以是任何数据类型,包括整数、布尔值、任何对象,甚至是其它的字典。而且就算在同一字典中,所有的值也无须是同一类型,您可根据需要混合匹配。字典的键要严格得多,可以是字符串、整数和其它一些类型。在同一字典中也可混合、匹配使用不同数据类型的键。

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_104


  类似列表和集合,python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_105函数将返回字典中键的数量。

  而且像列表和集合一样,可使用python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_37运算符以测试某个特定的键是否在字典中。

6.4布尔上下文环境中的字典

python 数据类型 列表嵌套字典 python内嵌数据类型_Python_107

  非空字典为真。

7.None

python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108python 数据类型 列表嵌套字典 python内嵌数据类型_运算符的一个特殊常量。它是一个空值。python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_05不同,python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108不是python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_25python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108 不是空字符串;将 python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108 与任何非 python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108 的东西进行比较将总是返回python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_05

  python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108是唯一的空值。它有着自己的数据类型(python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_119)。可将python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108赋值给任何变量,但不能创建其它 python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_119对象。所有值为python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108变量是相等的。

python 数据类型 列表嵌套字典 python内嵌数据类型_运算符_123


  在布尔上下文环境中,python 数据类型 列表嵌套字典 python内嵌数据类型_浮点数_108为假值,python 数据类型 列表嵌套字典 python内嵌数据类型_python 数据类型 列表嵌套字典_125为真值。