Python 列表与字典:从基础到应用
1. 映射与序列操作
映射(字典)支持通过键进行索引等操作。这里将 Python 3.X 的字节字符串和 2.X 的 Unicode 字符串归为“字符串”类别。集合有其独特的类别,它不将键映射到值,也不是按位置排序的序列。
对于序列对象 X 和 Y,有以下通用操作:
- X + Y
:创建一个包含两个操作数内容的新序列对象。
- X * N
:创建一个包含 N 份序列操作数 X 的新序列对象。
这些操作适用于各种序列,包括字符串、列表、元组和一些用户定义的对象类型。唯一的区别是返回的新结果对象与操作数 X 和 Y 的类型相同,例如连接列表会返回一个新列表,而不是字符串。索引、切片和其他序列操作在所有序列上的工作方式也相同,Python 根据处理对象的类型来执行相应的任务。
2. 可变与不可变类型
在 Python 中,对象类型可分为不可变和可变两类,这是一个重要的概念,尤其是对于新手来说。
不可变类型 :
包括数字、字符串、元组和冻结集合。这些类型的对象不支持原地修改,如果尝试修改,Python 会引发错误。要改变值,必须运行代码创建一个包含新值的新对象。不可变类型的好处是能保证对象不会被程序的其他部分意外更改,提供了一定程度的完整性。
可变类型 :
包括列表、字典、集合和字节数组。这些类型的对象可以通过不创建新对象的操作进行原地修改。虽然这些对象可以被复制,但原地修改支持直接对对象进