环境及版本
1 2 3
| Windows 10 x64 Python 2.7 Pycharm 4.5.1
|
Python包含6中内建的序列——列表(list)、元组(tuple)、字符串、Unicode字符串、buffer对象和xrange对象
序列是Python中最基本的数据结构,其中可以包含一个或多个元素,也可以没有任何元素,当然也可以包含其他的序列或对象
序列的操作
索引
序列中的索引如同C、Java等语言中的数组下标,从0开始递增,元素的值可以通过下标访问,如同数组一样
1 2 3 4
| test_list = [1,2,3,4,5,6,7,8] print test_list[0]
1
|
- 索引为负数时表示从起始端为右边,最后一个元素的位置是-1
分片
- 使用分片,可以访问某个范围内的元素
- 分片通过冒号:实现
- 第一个索引表示起始位置(包括),第二个索引表示终止位置(不包括)
1 2 3 4 5
| print test_list[0:2] print test_list[1:-1]
[1, 2] [2, 3, 4, 5, 6, 7]
|
- 起始位置为空,表示从结束位置到起始位置的所有元素
- 终止位置为空,表示从起始位置到终止位置的所有元素
- 如果要复制整个序列,则起始位置和终止位置都为空
1 2 3 4 5 6 7
| print test_list[0:] print test_list[:-1] print test_list[:]
[1, 2, 3, 4, 5, 6, 7, 8] [1, 2, 3, 4, 5, 6, 7]//由于终止位置不包含,所以没有最后一个元素 [1, 2, 3, 4, 5, 6, 7, 8]
|
步长(step lengh)
- 步长的设定通常是隐式的,默认为1
- 即按照步长的间隔分割序列
- 步长不能为0,但可以为负数,边说分片从右到左,间隔步长提取元素
1 2 3 4 5
| print test_list[0::2] print test_list[7:2:-1]
[1, 3, 5, 7] [8, 7, 6, 5, 4]
|
序列相加(+)
1 2 3 4
| test_list_1 = ['a','b','c','d','e','f'] print test_list + test_list_1
[1, 2, 3, 4, 5, 6, 7, 8, 'a', 'b', 'c', 'd', 'e', 'f']
|
序列乘法(*)
- 用数字x乘以序列,则会生成一个原序列重复x次的新序列
1 2 3 4
| none_list = [None] print none_list * 5
[None, None, None, None, None]
|
成员资格(in)
- in运算符会检查一个对象是否为某个序列的成员
- 返回值:True or False
1 2 3 4 5
| print 1 in test_list print 'A' in test_list_1
True False
|
长度(len)、最大值(max)、最小值(max)
- len函数返回序列中包含元素的个数
- max函数返回序列中最大的元素
- min函数返回序列中最小的元素
1 2 3 4 5 6 7
| print len(test_list) print max(test_list_1) print min(test_list_1)
8 f a
|
参考:Python基础教程(第2版·修订版)