Python列表

2022-06-07 18:27:42 浏览数 (4)

一、列表切片

代码语言:javascript复制
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、修改列表

使用索引表示法给特定位置的元素赋值,不能给不存在的索引赋值

代码语言:javascript复制
numbers=[5,1,6,9,0,3,4,2]
numbers[2]=100 #将索引为2的值修改为100
print(numbers)

[5, 1, 100, 9, 0, 3, 4, 2]

2、删除列表元素

代码语言:javascript复制
numbers=[5,1,6,9,0,3,4,2]
del numbers[2] #将索引为2的值删除
print(numbers)

[5, 1, 9, 0, 3, 4, 2]

3、使用切片修改和新增列表元素

同时给多个元素赋值,还可在不替换原有元素的情况下插入新元素

代码语言:javascript复制
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 将一个对象附加到列表末尾

代码语言:javascript复制
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 清空列表内容

代码语言:javascript复制
numbers=[5,1,6,9,0,3,4,2]
numbers.clear()
print(numbers)

[]

3、copy 复制列表

常规的复制只是将另一个变量名指向了列表

代码语言:javascript复制
numbers1=[5,1,6,9,0,3,4,2]
numbers2=numbers1
numbers2[0]=500
print(numbers1)

[500, 1, 6, 9, 0, 3, 4, 2]

要让numbers1和numbers2指向不同的列表,必须将numbers2关联到numbers1的副本,就用到copy

代码语言:javascript复制
numbers1=[5,1,6,9,0,3,4,2]
numbers2=numbers1.copy()
numbers2[0]=500
print(numbers1,numbers2)

[5, 1, 6, 9, 0, 3, 4, 2] [500, 1, 6, 9, 0, 3, 4, 2]

4、count 统计指定元素再列表出现的次数

代码语言:javascript复制
numbers1=[5,1,6,9,0,3,4,2]
print(numbers1.count(numbers1[0]))
print(numbers1.count(10))

1
0

5、extend 将多个值追加到列表末尾,原列表被更改,看起来类似于列表的拼接,但有重要的区别,拼接是将修改被扩展的列表,生成一个全新的列表,原列表不变

代码语言:javascript复制
numbers1=[1,2,3]
numbers2=[4,5,6]
numbers=numbers1 numbers2
print(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 在列表中查找指定值第一次出现的索引

代码语言:javascript复制
numbers=[5,1,6,9,0,3,4,2,0]
print(numbers.index(0))

4

7、insert 将一个对象根据索引插入列表

代码语言:javascript复制
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元素,还可根据索引删除元素

代码语言:javascript复制
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 删除第一个指定值的元素

代码语言:javascript复制
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将对象转换为列表

代码语言:javascript复制
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)

<list_reverseiterator object at 0x0000020A531BD8D0>
[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(列表)

代码语言:javascript复制
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]

0 人点赞