Skip to content

Python中的数据类型

简单数据类型

字符串

复杂数据类型

列表

列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置(索引)告诉 Python 即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将后者放在方括号内。

元组

列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对于处理网站的用户列表或游戏中的角色列表至关重要。然而,你有时候需要创建一系列不可修改的元素,元组可满足这种需求。Python 将不能修改的值称为不可变的,而不可变的列表称为元组(tuple)。

元组看起来很像列表,但使用圆括号而不是方括号来标识。定义元组后,就可使用索引来访问其元素,就像访问列表元素一样。

元组不可针对item赋值

python
demensions = (10, 5)
demensions[0] = 100 # TypeError: 'tuple' object does not support item assignment
print(demensions)

但是可以针对元组,重新定义

python
demensions = (100, 5)
print(demensions)

相比于列表,元组是更简单的数据结构。如果需要存储一组在程序的整个生命周期内都不变的值,就可以使用元组。

字典

字典(dictionary)是一系列键值对。每个都与一个值关联,可以使用键来访问与之关联的值。与键相关联的值可以是数、字符串、列表乃至字典。事实上,可将任意 Python 对象用作字典中的值。

字典的使用

字典用放在花括号({})中的一系列键值对表示,如前面的示例所示:

python
alien_0 = {'color': 'green', 'points': 5}

键值对包含两个相互关联的值。当你指定键时,Python 将返回与之关联的值。键和值之间用冒号分隔,而键值对之间用逗号分隔。在字典中,你想存储多少个键值对都可以。

最简单的字典只有一个键值对,如下述修改后的字典 alien_0 所示:

python
alien_0 = {'color': 'green'}

这个字典只存储了一项有关 alien_0 的信息,具体地说是这个外星人的颜色。在这个字典中,字符串 'color' 是一个键,与之关联的值为 'green'。

访问字典中的值

要获取与键关联的值,可指定字典名并把键放在后面的方括号内,如下所示:

python
alien_0 = {'color': 'green'}
print(alien_0['color']) # 输出 green

这将返回字典 alien_0 中与键 'color' 关联的值。但是当我们获取不存在的键时就会出错

python
alien_0 = {'color': 'green'}
print(alien_0['color']) # 输出 green
print(alien_0['speed'])
File "alien_no_points.py", line 3, in <module>
    print(alien_0['speed'])
          ~~~~~~~^^^^^^^^^^
KeyError: 'speed'

就字典而言,为避免出现这样的错误,可使用 get() 方法在指定的键不存在时返回一个默认值。get() 方法的第一个参数用于指定键,是必不可少的;第二个参数为当指定的键不存在时要返回的值,是可选的:

python
alien_0 = {'color': 'green', 'speed': 'slow'}

point_value = alien_0.get('points', 'No point value assigned.')
print(point_value) #No point value assigned.

添加键值对

字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依次指定字典名、用方括号括起来的键和与该键关联的值。

python
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)

alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)

删除字典中的键值对

python
alias = {
    'color':'green',
    'speed': 'fast'
}
del alias['color']
del alias['color']
print(alias)

Traceback (most recent call last):
  File "alien.py", line 23, in <module>
    del alias['color']
        ~~~~~^^^^^^^^^
KeyError: 'color'

对于字典中不再需要的信息,可使用 del 语句将相应的键值对彻底删除。在使用 del 语句时,必须指定字典名和要删除的键。且不可重复删除

最后更新时间: