列表的常用操作--增、删、改、查

增、删、改、查

【增】

# append() 结尾插入

作用在列表的最后,添加一个新的元素
语法l.append(object)
参数object,想要添加的元素
返回值None
备注会直接修改原列表
 # append() 结尾插入
names = ['Bob','Tom']
names.append('Lisa')
print(names)

输出:
['Bob', 'Tom', 'Lisa']

# insert() 结尾插入

作用在指定索引的前面,向列表中添加一个新的元素
语法l.insert(index,object)
参数index:索引,到时会插入到这个索引之前;object:想要添加的元素
返回值None
备注会直接修改原列表
# insert()  指定某个位置插入
names = ['Bob','Tom']
names.insert(1,'Rose')
print(names)

输出:
['Bob', 'Rose', 'Tom']

# extend() 扩展另外一个可迭代序列

作用往列表中,扩展另外一个可迭代序列
语法l.extend(iterable)
参数iterable:可迭代序列(使用for循环可遍历的类型),如:字符串、列表、元组…
返回值None
备注会直接修改原列表; 和append之间的区别:extend可以算是两个集合的拼接,append是一个元素,追加到一个集合中
# extend() 扩展另外一个可迭代序列
names = ['Bob','Tom']
names_1 = [1,2,3]
names.extend(names_1)
print(names)

输出:
['Bob', 'Tom', 1, 2, 3]

# 乘法运算、加法运算
备注: 加法运算,和extend之间的区别:加法运算,只能列表类型和列表类型相加

# 列表相乘
nums = [1,2]
print(nums * 3)

输出:
[1, 2, 1, 2, 1, 2]
# 列表相加
n1 = [1,2,3]
n2 = ['a','b']
print(n1 + n2)

输出:
[1, 2, 3, 'a', 'b']

【删】

del语句

作用可以删除一个指定元素(对象)
语法del 指定元素
备注可以删除整个列表、删除一个变量,也可以删除某个元素
# del   删除某个元素
names = ['Bob','Tom','Rose']
del names[1]  # 删除单个元素
print(names)

输出:
['Bob', 'Rose']




# del   删除整个列表
names = ['Bob','Tom','Rose']
del names   # 删除整个列表
print(names)

输出:
NameError: name 'names' is not defined

pop()

作用移除并返回列表中指定索引对应元素
语法l.pop(index=-1)
参数index:需要被删除返回的元素索引,默认是-1,也就对应着列表最后一个元素
返回值被删除的元素
备注会直接修改原列表;注意索引越界
# pop() 默认删除最后一个元素并返回;也可指定删除某个元素
names = ['Bob','Tom','Rose']
print(names.pop())  # 删除并返回'Rose'
print(names)
print(names.pop(0))  # 指定删除索引为0的元素'Bob'
print(names)

输出:
Rose
['Bob', 'Tom']
Bob
['Tom']

remove()

作用移除列表中指定元素
语法l.remove(object)
参数object:需要被删除的元素
返回值None
备注会直接修改原列表;如果元素不存在,会报错;如果存在多个元素,则只会删除最左边一个
# remove()  # 删掉指定元素
names = ['Bob','Tom','Rose']
names.remove('Tom')
print(names)

输出:
['Bob', 'Rose']
# remove()  # 如果有多个相同元素,则删除第一个元素
names = ['Bob','Tom','Rose','Bob']
names.remove('Bob')
print(names)

输出:
['Tom','Rose','Bob']
# remove()  # 如果要删除的元素不存在,会报错
names = ['Bob','Tom','Rose','Bob']
names.remove('Bob1')
print(names)

输出:
ValueError: list.remove(x): x not in list

【改】
当想要操作列表中的某个元素时,需要通过索引(下标),来操作指定元素

# 修改列表中某元素的值
names = ['Bob','Tom','Rose']
names[1] = 'Lisa'
print(names)

输出:['Bob', 'Lisa', 'Rose']

【查】

获取单个元素 items[index],注意负索引

nums = [3,4,5,6,7,8,9]
print(nums[-2])

输出:8

获取元素索引 index()

# names.index() 返回列表中某个元素的索引值;如果有多个相同元素,则返回左数第一个元素的索引值
names = ['Bob','Tom','Bob','Rose','Lisa','Job','Judy']
print(names.index('Tom'))
print(names.index('Bob'))  # 有多个相同元素,则返回左数第一个元素的索引值

输出:
1
0
nums = [3,4,5,6,7,5,8,9]
idx = nums.index(5,3)  # 从第3个索引开始,一直到最后,获取5对应的索引
print(idx)

输出:5	

获取指定元素个数 count()

# names.count() 查询列表中某元素有多少个
names = ['Bob','Tom','Bob','Rose','Lisa','Job','Judy']
print(names.count('Tom'))
print(names.count('Tom1'))
print(names.count('Bob'))

输出:
1
0
2

获取多个元素–切片,items[start:end :step]

# 切片--正切、步长、倒切、反转
names = ['Bob','Tom','Rose','Lisa','Job','Judy']
print(names[0:2])
print(names[0:])  # 打印整个列表

print(names[0:4:2]) # 从索引0到索引3,步长为2进行切片
print(names[0::2]) # 从索引0到结尾,步长为2进行切片
print(names[::2]) # 从索引0到结尾,步长为2进行切片

print(names[-4:])  # 倒切片(倒数后四个元素)
print(names[-4:-1])  # 倒切片(倒数后三个元素)
print(names[-4::2])  # 倒切片加步长

# 反转
print(names[::-1])  # 反转整个列表
print(names[5:2:-1]) # 反转部分元素

输出:
['Bob', 'Tom']
['Bob', 'Tom', 'Rose', 'Lisa', 'Job', 'Judy']
['Bob', 'Rose']
['Bob', 'Rose', 'Job']
['Bob', 'Rose', 'Job']
['Rose', 'Lisa', 'Job', 'Judy']
['Rose', 'Lisa', 'Job']
['Rose', 'Job']
['Judy', 'Job', 'Lisa', 'Rose', 'Tom', 'Bob']
['Judy', 'Job', 'Lisa']
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值