Python列表

王大力测试进阶之路

共 2964字,需浏览 6分钟

 ·

2022-05-12 19:32

一、列表切片

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]

浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报