列表的方法
目录
修改元素
- 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
print("修改前:",stus)
- 修改列表中的元素
直接通过索引来修改元素
stus[0] = 'sunwukong'
stus[2] = '哈哈'
- 通过del来删除元素
del stus[2] # 删除索引为2的元素
- 通过切片来修改列表
在给切片进行赋值时,只能使用序列
stus[0:2] = ['牛魔王','红孩儿'] 使用新的元素替换旧元素
stus[0:2] = ['牛魔王','红孩儿','二郎神']
stus[0:0] = ['牛魔王'] # 向索引为0的位置插入元素
- 当设置了步长时,序列中元素的个数必须和切片中元素的个数一致
stus[::2] = ['牛魔王','红孩儿','二郎神']
- 通过切片来删除元素
del stus[0:2]
del stus[::2]
stus[1:3] = []
- 以上操作,只适用于可变序列
s = 'hello'
s[1] = 'a' 不可变序列,无法通过索引来修改
可以通过 list() 函数将其他的序列转换为list
s = list(s)
通用操作
- + 和 *
+可以将两个列表拼接为一个列表
my_list = [1,2,3] + [4,5,6]
- * 可以将列表重复指定的次数
my_list = [1,2,3] * 5
- in 和 not in
- in用来检查指定元素是否存在于列表中
如果存在,返回True,否则返回False
- not in用来检查指定元素是否不在列表中
如果不在,返回True,否则返回False
- len()获取列表中的元素的个数
- min() 获取列表中的最小值
- max() 获取列表中的最大值
arr = [10,1,2,5,100,77]
print(min(arr) , max(arr))
列表的几大函数
stus = ['孙悟空','猪八戒','沙和尚','唐僧']
print('原列表:',stus)
- index()
stus.index() 获取指定元素在列表中的第一次出现时的索引
print(stus.index('沙和尚'))
index()的第一个参数是要找的元素,第二个参数,表示查找的起始位置 , 第三个参数,表示查找的结束位置
如果要获取列表中没有的元素,会抛出异常
print(stus.index('牛魔王')) ValueError: '牛魔王' is not in list
- count()
stus.count() 统计指定元素在列表中出现的次数
- append()
向列表的最后添加一个元素
- insert()
向列表的指定位置插入一个元素
参数:
1.要插入的位置
2.要插入的元素
stus.insert(2,'唐僧')
- extend()
使用新的序列来扩展当前序列
需要一个序列作为参数,它会将该序列中的元素添加到当前列表中
stus.extend(['唐僧','白骨精'])
stus += ['唐僧','白骨精']
- clear()
清空序列
stus.clear()
- pop()
根据索引删除并返回被删除的元素
result = stus.pop(2) # 删除索引为2的元素
result = stus.pop() # 删除最后一个
print('result =',result)
- remove()
删除指定值得元素,如果相同值得元素有多个,只会删除第一个
- reverse()
用来反转列表
stus.reverse()
- sort()
用来对列表中的元素进行排序,默认是升序排列
如果需要降序排列,则需要传递一个reverse=True作为参数
my_list = list('asnbdnbasdabd')
my_list = [10,1,20,3,4,5,0,-2]
my_list.sort(reverse=True)