列表的相关操作有点多,按照各大教程分为以下四类——增、删、改、查。
增
append(),在列表末尾加入元素。
nums = [1, 2, 3, 4]
nums.append(5)
print(nums) # [1, 2, 3, 4, 5]
insert(),在列表任意位置插入元素。
# 语法结构
# insert(index,object)
# index 将要插入的索引位置
# object 要插入的值
nums = [1, 2, 3, 4]
nums.insert(0, 5)
print(nums) # [5, 1, 2, 3, 4]
extend(),在列表中扩展另一个可迭代序列
# 语法结构
# extend(iterable)
# 注意与append的区别,extend参数必须为可迭代对象
nums = [1, 2, 3, 4]
nums.extend("Python")
print(nums) # [1, 2, 3, 4, 'P', 'y', 't', 'h', 'o', 'n']
删
del,简单粗暴,直接删除整个列表,回收列表所占内存空间
nums = [1, 2, 3, 4]
del nums
print(nums) # NameError: name 'nums' is not defined
# 由结果可知,不是简单的清除整个列表的内容,而是把整个列表回收,该列表不存在了
remove(),删掉想删除的列表中的元素
# 语法结构
# remove(value)
# value为想要删除的列表中的元素,若不存在,报错
nums = [1, 2, 3, 4]
nums.remove(3)
print(nums) # [1, 2, 4]
pop(),默认弹出列表中的最后一个元素
nums = [1, 2, 3, 4]
print(nums.pop()) # 4
print(nums) # [1, 2, 3]
改
改没有什么列表对象方法,主要就是依靠索引来进行
nums = ['a', 'b', 'c', 'd']
nums[2] = 3
print(nums) # ['a', 'b', 3, 'd']
查
查也没有什么列表对象方法,主要就是依靠索引、切片、遍历进行
nums = list(range(10,1)) # [66, 67, 68, 69, 70, 71]
# 获取索引
nums.index(68) # 获取元素68的索引值,2
# 获取单个元素
nums[3] # 得到索引值为3的元素---69
# 获取多个元素,切片
# l[start:end:step]
nums[1:5] # 获取索引值1, 2, 3, 4的元素---67, 68, 69, 70
# 遍历
for i in nums:
print(i)
# 依次获取每一个列表元素
排序
排序主要有两个方法,一个列表对象方法sort,一个内建函数sorted,下面看看这两个函数的区别
# 语法结构
# sorted(iterable, key=None, reverse=False)
# iterable 可迭代对象
# key 排序关键字 值为一个函数,此函数只有一个参数且返回一个值用来进行比较
# reverse 升降序,默认为False 升序
# sort(key, reverse=False)
# 参数意义与上面的相同
nums = [2, 1, 5, 3, 6, 4]
print(sorted(nums))
print(nums)
# [1, 2, 3, 4, 5, 6]
# [2, 1, 5, 3, 6, 4]
print(l.sort())
print(nums)
# None
# [1, 2, 3, 4, 5, 6]
'''
对比可发现sorted有返回值,但是不改变原列表;sort无返回值,但是改变原列表
'''
反转
反转有两种方法,一种借助函数,一种借助切片
nums = [1, 2, 3, 4, 5, 6]
nums.reverse() # 反转结果如下,改变原列表
print(nums) # [6, 5, 4, 3, 2, 1]
print(nums[::-1]) # [1, 2, 3, 4, 5, 6]