在学习列表之前先了解了raw_input和input的区别:(仅适用于版本2,版本3中raw_input和input合并,没有raw_input)
input的语法为:input("str").
raw_input函数把所有的输入当做原始数据保存为字符串格式;
而input默认用户输入为python的合法格式,用于字符串连接时有一定的局限性。
1.序列索引
python中序列索引有两种表达形式:
(1)第一个元素索引是0,第二个是1,以此类推;
(2)最后一个元素索引是-1,倒数第二个是-2,以此类推;
这样,假设序列a个数为n,那么对于第i个元素:a[i]=a[-n+i]
2.序列分片
分片是索引的扩展,索引访问的是单个元素,分片访问的是一定范围内的元素。分片需要提供两个索引作为边界,第一个索引的元素包含在分片内,而第二个不包含在分片内。
举例:
>>> number=[0,1,2,3,4,5,6,7,8,9]
>>> number[2:5]
[2, 3, 4]
步长的表示:
>>> number[2:9:2]
[2, 4, 6, 8]
>>> number[2:8:2]
[2, 4, 6]
函数:len:元素的数量;min和max分别返回序列中的最小和最大元素。
3.基本的列表操作
首先引入list函数:将字符串拆分为数组格式
>>> list("list")
['l', 'i', 's', 't']
(1)元素赋值:
>>> number=[0,1,2,3,4,5,6,7,8,9]
>>> number[0]=10
>>> number
[10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
(2)删除元素
>>> number=[0,1,2,3,4,5,6,7,8,9]
>>> del number[0]
>>> number
[1, 2, 3, 4, 5, 6, 7, 8, 9]
(3)分片赋值
>>> number[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> number[0:]=[1,2,3]
>>> number
[1, 2, 3]
a:列表 n:索引
4.列表的操作方法
(1)append:在列表末尾添加新的元素 a.append('')
>>> number=[1, 2, 3]
>>> number.append(5)
>>> number
[1, 2, 3, 5]
(2)count:统计某个元素出现的个数 a.count()
>>> number=[1, 2, 3]
>>> number.count(1)
1
(3)extend:在序列后添加序列 a.attend(b)
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
(4)index:用于从列表中找出某个值第一个匹配项的索引位置 a.index(n)
>>> number=[0,1,2,3,4,5,6,7,8,9]
>>> number.index(4)
4
(5)insert:将新对象插入到列表中,a.insert(index,'')在第index的位置插入“”
>>> number=[0,1,2,3,4,5,6,7,8,9]
>>> number.insert(10,10)
>>> number
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(6)pop:移除列表中的一个元素,默认最后一个 a.pop(n)
>>> number=[0,1,2,3,4,5,6,7,8,9]
>>> number.pop()
9
>>> number
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> number.pop(0)
0
>>> number
[1, 2, 3, 4, 5, 6, 7, 8]
(7)remove:移除某个值的第一个匹配项 a.remove('')
>>> number=[0,1,2,3,4,5,6,7,8,9]
>>> number.remove(7)
>>> number
[0, 1, 2, 3, 4, 5, 6, 8, 9]
(8)reverse:将列表中的元素反向存放 a.reverse()
>>> number=[0,1,2,3,4,5,6,7,8,9]
>>> number.reverse()
>>> number
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
(9)sort、sorted:将列表中的元素排列
对自身排列: a.sort()
>>> number=[4,3,2,6,7,3]
>>> number.sort()
>>> number
[2, 3, 3, 4, 6, 7]
排列后赋值给其他变量: b=sorted(a)
>>> number1=sorted(number)
>>> number1
[2, 3, 3, 4, 6, 7]
(10)cmp:比较函数,cmp(a,b) 若a>b,返回1,若a<b,返回-1,若a=b,返回0
元组和列表一样,也是一种序列,不同的是元组不能修改。
元组的创建:用逗号分隔开一些元素就自动创建了元组,或用圆括号创建。
tuple:以一个序列为输入,把它转换为元组
>>> a=[1,2,3]
>>> tuple(a)
(1, 2, 3)