Python中的数据类型
简单数据类型
字符串
数
复杂数据类型
列表
列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置(索引)告诉 Python 即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将后者放在方括号内。
元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对于处理网站的用户列表或游戏中的角色列表至关重要。然而,你有时候需要创建一系列不可修改的元素,元组可满足这种需求。Python 将不能修改的值称为不可变的,而不可变的列表称为元组(tuple)。
元组看起来很像列表,但使用圆括号而不是方括号来标识。定义元组后,就可使用索引来访问其元素,就像访问列表元素一样。
元组不可针对item赋值
demensions = (10, 5)
demensions[0] = 100 # TypeError: 'tuple' object does not support item assignment
print(demensions)但是可以针对元组,重新定义
demensions = (100, 5)
print(demensions)相比于列表,元组是更简单的数据结构。如果需要存储一组在程序的整个生命周期内都不变的值,就可以使用元组。
字典
字典(dictionary)是一系列键值对。每个键都与一个值关联,可以使用键来访问与之关联的值。与键相关联的值可以是数、字符串、列表乃至字典。事实上,可将任意 Python 对象用作字典中的值。
字典的使用
字典用放在花括号({})中的一系列键值对表示,如前面的示例所示:
alien_0 = {'color': 'green', 'points': 5}键值对包含两个相互关联的值。当你指定键时,Python 将返回与之关联的值。键和值之间用冒号分隔,而键值对之间用逗号分隔。在字典中,你想存储多少个键值对都可以。
最简单的字典只有一个键值对,如下述修改后的字典 alien_0 所示:
alien_0 = {'color': 'green'}这个字典只存储了一项有关 alien_0 的信息,具体地说是这个外星人的颜色。在这个字典中,字符串 'color' 是一个键,与之关联的值为 'green'。
访问字典中的值
要获取与键关联的值,可指定字典名并把键放在后面的方括号内,如下所示:
alien_0 = {'color': 'green'}
print(alien_0['color']) # 输出 green这将返回字典 alien_0 中与键 'color' 关联的值。但是当我们获取不存在的键时就会出错
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() 方法的第一个参数用于指定键,是必不可少的;第二个参数为当指定的键不存在时要返回的值,是可选的:
alien_0 = {'color': 'green', 'speed': 'slow'}
point_value = alien_0.get('points', 'No point value assigned.')
print(point_value) #No point value assigned.添加键值对
字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依次指定字典名、用方括号括起来的键和与该键关联的值。
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)删除字典中的键值对
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 语句时,必须指定字典名和要删除的键。且不可重复删除