Python基础_列表操作总结——增、删、改、查

2022-10-27 10:58:16

列表操作——增删改查、拷贝、排序

一、增
1)append():默认是在列表的末尾增加元素
语法:列表.append(元素)

arr=[1,2,3]
arr.append(4)
print(arr)  # 返回 [1, 2, 3, 4]
arr.append("Python")
print(arr) # 返回 [1, 2, 3, 4, 'Python']

2)insert():指定在某一索引位置,添加元素
语法:列表.insert(指定索引位置,元素)

arr=[1,2,3]
arr.insert(0,4)
print(arr)  # 返回 [4, 1, 2, 3]
arr.insert(2,"Java")
print(arr)  # 返回 [4, 1, 'Java', 2, 3]
# 当传入的索引位置越界后,并不会报错,而是默认在末尾位置添加
arr.insert(100,"C++") 
print(arr)  # 返回 [4, 1, 'Java', 2, 3, 'C++']

3)extend():将序列中的所有值,一次性添加在列表的末尾
语法:列表.extend(序列)

a=[1,2,3]
b=("Java","Python")
c={4,5,6}
a.extend(b)
print(a)   # 返回[1, 2, 3, 'Java', 'Python']
print(b)   # ['Java', 'Python']
a.extend(c)
print(a)   # 返回[1, 2, 3, 'Java', 'Python',4,5,6]
print(c)   # 返回{4,5,6}

二、删
1)remove():删除列表中,具体某个值的元素
语法:列表.remove(元素)
PS:当删除的目标值元素有多个时,每次执行只能删除一个元素,且删除的是索引位置最小的那个。

a=[3,1,2,"Python",3]
a.remove(3)
print(a)  # 返回[1,2,"Python",3]
# 当删除的元素,不在列表中
a.remove(10)
# 报错信息:ValueError: list.remove(x): x not in list

2)del :主要删除指定索引位置的元素。
这个位置可以是一个;也可以是切片(即删除多个位置元素);也可以是整个列表删除(从内存中中去除列表)
语法1:del 列表[某个索引位置]
语法2:del 列表[切片位置]
语法3:del 列表

a=[3,1,2,"Python",3,4,"Java"]
del a[0]
print(a)   # 返回 [1,2,"Python",3,4,"Java"]
del a[2:4]  # 第2、第3个元素被删除
print(a)   # 返回 [1, 2, 4, 'Java']
del a[10]  # 超过最大索引会报错越界:list assignment index out of range
del a 
print(a)   # 列表a已经从内存中移除: name 'a' is not defined

3)pop():传入的索引位置为空时,默认弹出列表的末尾元素,也可以输入指定索引位置,实现弹出该位置的元素。
因此,可以通过pop()或pop(0)实现堆栈的效果(先进先出,先进后出)
语法1:列表.pop() 弹出末尾元素
语法2:列表.pop(索引) 弹出索引位置元素

a=[3,1,2,"Python",3,4,"Java"]
a.pop()   #返回 "Java"
print(a)   # 返回[3,1,2,"Python",3,4]
a.pop(0)   #返回 3
a.pop(0)   #返回 1
print(a)   # [2, 'Python', 3, 4]
# PS:当列表为空列表时,再去pop元素时,报错IndexError:pop from empty list

三、改
1) 一次更新一个元素值,将指定位置元素的值,更新为目标值
语法: 列表[索引位置] = 目标值

a=[3,1,2,"Python",3,4,"Java"]
a[0] = 100
print(a)  # 返回[100,1,2,"Python",3,4,"Java"]
a[200] = 100   #指定索引位置不存在,报错越界 index out of range

2)一次更新多个元素的值,将指定几个位置的值,更新为目标值。

# 写法1:
a=[3,1,2,"Python",3,4,"Java"]
a[0:3] = 100,200,300
print(a)   # [100, 200, 300, 'Python', 3, 4, 'Java']
# 写法2:目标元素以序列的形式
a=[3,1,2,"Python",3,4,"Java"]
a[0:3] = [100,200,300]
# a[0:3] = (100,200,300)  这样也可以
print(a)   # [100, 200, 300, 'Python', 3, 4, 'Java']

# 当目标元素的个数,与原来不相等时,也是可以的
# 如下,本意是想更新3个元素,但是目标值却包含4个值

a=[3,1,2,"Python",3,4,"Java"]
a[0:3] = 100,200,300,400
print(a)   # [100, 200, 300, 'Python', 3, 4, 'Java']

四、查
1)单个查:只能按索引位置查
语法:列表[索引坐标]

a=[3,1,2,"Python",3,4,"Java"]
a[0]  # 返回第0个元素3
# a[100] ,  索引位置超过时,报越界IndexError: list index out of range

2)多个查:切片查找
语法1:正序切片查
语法2:逆序切片查
语法3:切割切片查

# 正序切
a=[3,1,2,"Python",3,4,"Java"]
a[1:4]  # 返回 [1,2,"Python"]
# 逆序切
a[::-1]  # 返回 ['Java', 4, 3, 'Python', 2, 1, 3]
# 间隔切
a[::3] # 返回[3, 'Python', 'Java'] 从第0个开始取,间距为3即取第0,3,6,9。。。个元素

3)遍历:for循环
语法1:按元素的值遍历
语法2:按元素的索引坐标遍历

# 按 元素的值遍历
arr=[3,1,2,"Python",3,4,"Java"]
for i in arr:
    print(i)
    
# 按元素的索引坐标遍历
for i in range(len(arr)):
    print(arr[i])
  • 作者:小菜鸡也会有春天
  • 原文链接:https://blog.csdn.net/weixin_50640351/article/details/115311846
    更新时间:2022-10-27 10:58:16