Python 列表与字典:深入探索
1. 序列操作概述
在 Python 中,许多类型都支持序列操作,如映射(字典)支持按键索引等。这里将 Python 3.X 的字节字符串和 2.X 的 Unicode 字符串归为“字符串”类别。集合有其独特的性质,它不将键映射到值,也不是按位置排序的序列。
对于任意序列对象 X 和 Y,有以下常见操作:
- X + Y
:创建一个包含两个操作数内容的新序列对象。
- X * N
:创建一个包含 N 份序列操作数 X 的新序列对象。
这些操作适用于各种序列,包括字符串、列表、元组和一些用户定义的对象类型。不同之处在于,操作结果的对象类型与操作数 X 和 Y 相同。例如,连接列表会返回一个新列表,而不是字符串。索引、切片和其他序列操作在所有序列上的工作方式也相同,Python 根据处理对象的类型来执行相应的任务。
2. 可变与不可变类型
在 Python 中,对象类型可分为不可变和可变两类,这是一个重要的概念,新用户可能容易混淆。
2.1 不可变类型
不可变类型包括数字、字符串、元组和冻结集合。这些类型的对象不支持原地修改,如果尝试修改,Python 会抛出错误。要改变其值,必须创建一个包含新值的新对象。例如,字符串是不可变的,若要改变字符串,可通过拼接、切片、格式化表达式或使用 replace
方法创建新字符串,再将结果赋值给原变量名。
2.2 可变类型
可变类型包括列表、字典、集合和字节数组。这些类型的对