列表的操作方法

‘’’
列表是Python中最常用的数据类型之一,可以储存多个不同类型的元素
一、特点
1)有序性:元素是按照添加的顺序进行存储的,可以通过索引访问和操作列表中的元素
2)可变性:可以通过索引修改、删除或插入元素,可以改变列表的长度、内容和顺序
3)异构性:可以包含不同类型的元素,如string、int、float、list等

‘’’
def list_op():

'''
1、len()  获取list中元素的个数,格式:len(list)
'''
l1 = [2,1,6,5,95,81,96,5,547,9,6,(51,1),['a','hello']]
print(len(l1))

'''
2、count()  统计value在list中出现的次数,格式:.count(value)
'''
l1 = [2,1,6,5,95,81,96,5,547,9,6,(51,1),['a','hello']]
print(l1.count(2))
print(l1.count('a')) #列表中其他数据类型中的元素不计数
print(l1.count(51)) #列表中其他数据类型中的元素不计数
'''
3、index()  统计value在list中出现的次数,格式:.index(value)
'''
l1 = [2,1,6,5,95,81,96,5,547,9,6,(51,1),['a','hello']]
print(l1.index(2))
print(l1.index((51,1)))
print(l1.index(['a','hello']))
# print(l1.index('a')) #列表中其他数据类型中的元素不可通过index返回下标
# print(l1.index(51)) #列表中其他数据类型中的元素不可通过index返回下标

'''
4、append(value)  在list最后追加元素,格式:.append(value)
'''
l1 = [2,1,6,5,95,81,96,5,547,9,6,(51,1),['a','hello']]
l1.append(['c', 'python'])
print(l1)

'''
5、extend(iterable)  将一个可迭代对象的元素依次添加到列表最后,格式:.extend(iterable)
'''

l1 = []
l2 = (1,2,3)
l1.append(l2) #将l2以一个元素的形式追加在l1最后
print(l1)
l3 = []
l4 = (1,2,3,'abc') #将l4中的元素依次添加到列表最后
l3.extend(l4)
print(l1)

'''
6、insert(index,value)  往列表中指定的下标位置插入一个元素,原有元素依次后移
   如果指定下标超出元素个数,则插入到列表最后,格式:.insert(index,value)
'''
l1 = [2,1,6,5,95,81,96,5,547,9,6,(51,1),['a','hello']]
l1.insert(5,'young')
print(l1)
l1.insert(100,'young')
print(l1)
l1.insert(98,'yg')
print(l1)

'''
7、del  公共方法, del关键字结合索引来删除指定位置的元素,如果指定的下标不存在则抛出错误,
        格式:del list[index]
'''
l1 = [2, 1, 6, 5, 95, 8]
print(l1)
del l1[1]
print(l1)
# del l1[6] #下标越界
# print(l1)
# del l1  # 删除整个列表,再次打印l1则报错
# print(l1)

'''
8、remove(value)  在列表中删除第一个指定的数据,如果指定的数据不存在则抛出错误,
    格式:.remove(value)
'''
l1 = [2, 1, 6, 1, 95, 8]
res = l1.remove(1)#remove不会保留取出来的元素---None
print(res)
print(l1)
# l1.remove(9)#指定的数据不存在则抛出错误
# print(l1)

'''
9、pop(index)  从列表中取出并删除指定下标位置的元素,默认取出并删除最后一个元素,
   如果指定的下标不存在则抛出错误,
   格式:.pop(index)
'''
l1 = [2, 1, 6, 1, 95, 8]
res = l1.pop(2) #pop会保留取出来的元素---6
print(res)
print(l1)
# l1.pop(7)    #指定的下标不存在则抛出错误
# print(l1)
'''
10、clear()  从列表中清空所有元素,剩下空列表,
   格式: list.clear()
'''
l1 = [2, 1, 6, 1, 95, 8]
l1.clear()
print(l1)

'''
11、sort(key,reverse)  对列表进行排序:
    1)sort方法默认对基本数据类型进行升序排序
    2)reverse参数将列表元素排序后将列表逆序,实现降序排序
    3)key参数用来指定排序字段名称,比如学生的年龄、员工的工资(lambda处讲解)
    格式: .sort(key,reverse)
'''
l1 = [2, 1, 6, 1, 95, 8]
print(l1)
l1.sort()
print(l1)
l1.sort(reverse=True)#降序
print(l1)
s = ['asfa','agdf','awtwt','z']
s.sort()
print(s)
stu = [{'name':'Tom','age':25},{'name':'Jack','age':26}]
# stu.sort() #报错 '<' not supported between instances of 'dict' and 'dict'
# print(stu)
stu.sort(key=lambda x:x['name'])#lambda
print(stu)