Python列表
一、列表切片
numbers=[5,1,6,9,0,3,4,2]print(numbers[0:2])print(numbers[3:6])print(numbers[:])print(numbers[2:])print(numbers[:6])print(numbers[-4:-2])[5, 1][9, 0, 3][5, 1, 6, 9, 0, 3, 4, 2][6, 9, 0, 3, 4, 2][5, 1, 6, 9, 0, 3][0, 3]
二、列表基本操作
1、修改列表
使用索引表示法给特定位置的元素赋值,不能给不存在的索引赋值
numbers=[5,1,6,9,0,3,4,2]numbers[2]=100 #将索引为2的值修改为100print(numbers)[5, 1, 100, 9, 0, 3, 4, 2]
2、删除列表元素
numbers=[5,1,6,9,0,3,4,2]del numbers[2] #将索引为2的值删除print(numbers)[5, 1, 9, 0, 3, 4, 2]
3、使用切片修改和新增列表元素
同时给多个元素赋值,还可在不替换原有元素的情况下插入新元素
numbers=[5,1,6,9,0,3,4,2]numbers[7:]=[100,200,300]print(numbers)[5, 1, 6, 9, 0, 3, 4, 100, 200, 300]numbers=[5,1,6,9,0,3,4,2]numbers[8:]=[100,200,300]print(numbers)[5, 1, 6, 9, 0, 3, 4, 2, 100, 200, 300]
三、列表方法
1、append 将一个对象附加到列表末尾
numbers=[5,1,6,9,0,3,4,2]numbers.append(100)print(numbers)[5, 1, 6, 9, 0, 3, 4, 2, 100]
2、clear 清空列表内容
numbers=[5,1,6,9,0,3,4,2]numbers.clear()print(numbers)[]
3、copy 复制列表
常规的复制只是将另一个变量名指向了列表
numbers1=[5,1,6,9,0,3,4,2]numbers2=numbers1numbers2[0]=500print(numbers1)[500, 1, 6, 9, 0, 3, 4, 2]
要让numbers1和numbers2指向不同的列表,必须将numbers2关联到numbers1的副本,就用到copy
numbers1=[5,1,6,9,0,3,4,2]numbers2=numbers1.copy()numbers2[0]=500print(numbers1,numbers2)[5, 1, 6, 9, 0, 3, 4, 2] [500, 1, 6, 9, 0, 3, 4, 2]
4、count 统计指定元素再列表出现的次数
numbers1=[5,1,6,9,0,3,4,2]print(numbers1.count(numbers1[0]))print(numbers1.count(10))10
5、extend 将多个值追加到列表末尾,原列表被更改,看起来类似于列表的拼接,但有重要的区别,拼接是将修改被扩展的列表,生成一个全新的列表,原列表不变
numbers1=[1,2,3]numbers2=[4,5,6]numbers=numbers1+numbers2print(numbers1,numbers2,numbers)[1, 2, 3] [4, 5, 6] [1, 2, 3, 4, 5, 6]numbers1=[1,2,3]numbers2=[4,5,6]numbers1.extend(numbers2)print(numbers1,numbers2)[1, 2, 3, 4, 5, 6] [4, 5, 6]
6、index 在列表中查找指定值第一次出现的索引
numbers=[5,1,6,9,0,3,4,2,0]print(numbers.index(0))4
7、insert 将一个对象根据索引插入列表
numbers=[5,1,6,9,0,3,4,2,0]numbers.insert(3,100)print(numbers)[5, 1, 6, 100, 9, 0, 3, 4, 2, 0]
8、pop 从列表中删除一个元素,并返回删除的元素,默认删除最后1元素,还可根据索引删除元素
numbers=[5,1,6,9,0,3,4,2,0]numbers.pop()print(numbers)[5, 1, 6, 9, 0, 3, 4, 2]numbers=[5,1,6,9,0,3,4,2,0]numbers.pop(0)print(numbers)[1, 6, 9, 0, 3, 4, 2, 0]
9、remove 删除第一个指定值的元素
numbers=[5,1,6,9,0,3,4,2,0]numbers.remove(0)print(numbers)[5, 1, 6, 9, 3, 4, 2, 0]
10、reverse 翻转列表,按相反顺序排列列表数据;如果不想改变原列表,对原列表的副本进行翻转用reversed(列表),返回的是一个迭代器,需要用list将对象转换为列表
numbers=[5,1,6,9,0,3,4,2,0]numbers.reverse()print(numbers)[0, 2, 4, 3, 0, 9, 6, 1, 5]______________________________________numbers=[5,1,6,9,0,3,4,2,0]print(reversed(numbers))print(numbers)[5, 1, 6, 9, 0, 3, 4, 2, 0]numbers=[5,1,6,9,0,3,4,2,0]print(list(reversed(numbers)))print(numbers)[0, 2, 4, 3, 0, 9, 6, 1, 5][5, 1, 6, 9, 0, 3, 4, 2, 0]
11、sort 列表升序排列,降序排列需要加上(reverse=True),改变了原列表;如果不想改变原列表,对原列表的副本进行升序排列用sorted(列表)
numbers=[5,1,6,9,0,3,4,2,0]numbers.sort() #升序print(numbers)[0, 0, 1, 2, 3, 4, 5, 6, 9]numbers=[5,1,6,9,0,3,4,2,0]numbers.sort(reverse=True) #降序print(numbers)[9, 6, 5, 4, 3, 2, 1, 0, 0]numbers=[5,1,6,9,0,3,4,2,0]print(sorted(numbers))print(numbers)[0, 0, 1, 2, 3, 4, 5, 6, 9][5, 1, 6, 9, 0, 3, 4, 2, 0]
评论
