1.列表及元组操作
1.1 列表
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
定义列表:
1 >>> namelist = [‘cc‘,‘uu‘,‘tt‘,‘yy‘,‘nn‘]
变量namelist
就是一个list。用len()
函数可以获得list元素的个数:
1 >>> print(len(namelist))
1.1.1 list取值
用索引来访问list中每一个位置的元素,记得索引是从0
开始的:
1 >>> print(namelist[0]) 2 cc 3 >>> print(namelist[1]) 4 uu 5 >>> print(namelist[2]) 6 tt 7 >>> print(namelist[3]) 8 yy 9 >>> print(namelist[4]) 10 nn
当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(namelist) - 1
。
如果要取最后一个元素,除了计算索引位置外,还可以用-1
做索引,直接获取最后一个元素:
1 >>> print(namelist[-1]) 2 nn
以此类推,可以获取倒数第二个、第三个:
1 >>> print(namelist[-2]) 2 yy 3 >>> print(namelist[-3]) 4 tt
1.1.2 新增
追加元素--append
list是一个可变的有序表,可追加元素到末尾
1 >>> namelist = [‘cc‘,‘tt‘,‘uu‘,‘yy‘] 2 >>> namelist.append(‘ll‘) 3 >>> print(namelist)
添加到指定位置--insert
1 >>> namelist.insert(1,‘kk‘) 2 >>> print(namelist)
1.1.3 删除
删除末尾元素--pop()
1 >>> namelist.pop() 2 >>> print(namelist)
删除指定元素--pop(i)
1 >>> namelist.pop() 2 >>> print(namelist)
删除列表
del(list)是直接删除整个列表,再次打印列表时会报:NameError: name ‘namelist‘ is not defined
1 >>> del(namelist) 2 >>> print(namelist)
删除指定元素--del
1 >>> del(namelist[0]) 2 >>> print(namelist)
删除指定元素--remove
1 >>> remove.namelist(‘cc‘) 2 >>> print(namelist)
1.1.4 修改
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
1 >>> namelist[1] = ‘rr‘ 2 >>> print(namelist)
1.1.5 切片
取多个元素就需要用到切片;
切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。记住:数是可选的,而冒号是必须的。
切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束,第三个数(冒号之后)表示切片间隔数。如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置开始 ,刚好在结束位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。----顾头不顾尾
1 >>> namelist = [‘cc‘,‘tt‘,‘uu‘,‘yy‘] 2 >>> print(namelist[1:3])#取下标1到3之间的值,包含1,不包含3 3 [‘tt‘, ‘uu‘] 4 >>> print(namelist[0:3])#取下标0到3之间的值,包含0,不包含3 5 [‘cc‘,‘tt‘,‘uu‘] 6 >>> print(namelist[:3])#如果是0开头,可以省略0,同上句 7 [‘cc‘,‘tt‘,‘uu‘] 8 >>> print(namelist[0:])#想取最后一个,只能这么写 9 [‘cc‘,‘tt‘,‘uu‘,‘yy‘] 10 >>> print(namelist[::2])#从头取到尾,每隔一个元素就取一个 11 [‘cc‘, ‘uu‘]
也可以用负数做切片,负数用在从序列尾开始计算的位置。
1 >>> print(namelist[0:-3]) 2 [‘cc‘]
1.1.6 获取下标
可通过index查找元素,返回下标
1 >>> print(namelist.index(‘cc‘)) 2 0
也可通过找到的下标获取元素值---忘记他吧!
1 >>> print(namelist[namelist.index(‘cc‘)]) 2 cc
1.1.7 统计
1 >>> namelist = [‘ty‘,‘tuu‘,‘tu‘,‘ye‘,‘tu‘] 2 >>> print(namelist.count(‘tu‘)) 3 2
1.1.8 反转
1 >>> namelist = [‘ty‘,‘tuu‘,‘tu‘,‘ye‘] 2 >>> namelist.reverse() 3 >>> print(namelist) 4 [‘ye‘, ‘tu‘, ‘tuu‘, ‘ty‘]
1.1.9 排序
按照ascii码表排序
>>> namelist = [‘ty‘,‘tuu‘,‘tu‘,‘ye‘] >>> namelist.sort() >>> print(namelist) [‘tu‘, ‘tuu‘, ‘ty‘, ‘ye‘]
1.1.10 扩展
extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
1 >>> namelist1 = [‘cc‘,‘tt‘,‘yy‘,‘uu‘] 2 >>> namelist2 = [‘ww‘,‘ee‘,‘bb‘] 3 >>> namelist1.extend(namelist2) 4 >>> print(namelist1) 5 [‘cc‘, ‘tt‘, ‘yy‘, ‘uu‘, ‘ww‘, ‘ee‘, ‘bb‘]
1.1.11 复制