列表与元组的主要不同在于,列表是可以修改的,元组不可以。列表适用于需要中途添加元素的情形,元组适用于出于某种考虑禁止修改序列的情形。在需要处理一系列值时,序列很有用,在数据库中,你可能使用序列来表示人,其中第一个表示姓名,第二个表示年龄。用列表表示如下:
| 1 | user |
序列还可包含其他序列
user |
有几种操作使用于所有序列,包括索引、切片、相加、相乘和成员检查。另外还有一些内置函数,可用于确定序列的长度以及找出序列中最大和最小的元素。
索引:
序列中所有的元素都有编号-从0开始递增
| 1234 | set |
这称为索引,还可使用负索引来获取元素
| 12 | set |
对于字符串字面量(以及其他序列字面量)可直接对其执行索引操作,无需先将其赋给变量,这与先赋给变量在对变量执行索引操作的效果一样。
| 12 | 'Hello' |
如果函数调用返回一个序列,可直接对其执行索引操作。例如,你只想获取用户输入的姓名第二位:
name |
切片:
使用索引来访问单个元素外,还可使用切片来访问特定范围内的元素,使用两个索引用冒号分隔:
tag |
切片适用于提取序列一部分,其中的编号非常重要,第一个索引是包含第一个元素的编号,第二个索引是切片后前一位的元素编号(下标从0开始)
number |
两个索引来指定切片的边界,其中一个索引指定的元素包含在切片内,第二个索引指定的元素不包含在切片内。
简写:
# 如果切片结束与序列末尾,可省略第二个索引: |
步长:
执行切片操作时,显示或隐示地制定起点和终点,但通常省略另一个参数,即步长。在普通切片中,步长为1(从一个元素移动到下一个元素),切片包含起点和终点之间的所有元素。
| 1234 | number[ |
也可以简写:
| 12 | number[:: |
步长不能为0,但是可以是负数,这样获取元素的位置是从右向左。
| 12 | number[:: |
步长为正数时,它从起点移到终点,步长为负数时,它从终点移到起点。
序列相加:
[ |
不能拼接序列与字符串,虽然他们都是序列,一般不能拼接不同类型的序列。
乘法:
'hello' |
如先定义序列但并不为其赋值可用
name |
成员资格:
检查特定的值是否包含在序列中,使用in.满足条件返回true,否则返回false.
name |
长度、最小值、最大值
number |
列表常用方法
#赋值 |
方法是与对象(列表、数、字符串等)联系紧密的函数。
# 在末尾追加元素:append |
元组:不可修改的序列
元组的几种写法。
(1,2,3) |
3 * (20+2) |
函数tuple的工作原理与list很像,它将一个序列作为参数,并将其转换为元组。如果参数是元组,就原封不动的返回。
tuple([1,2,3]) |



