Python列表的简单操作

Python列表

概念:有序可变的元素集合(可以有重复元素)

定义:

  1. list = [元素1,元素2,元素3,...]

    • 列表生成式:range(num),生成从0-num-1;range(start,stop,step),从start开始到stop-1结束,以step为步长

    • 列表推导式:映射解析--一对一变更 ;过滤--从多到少。语法:newlist = [对num进行的操作(num+-1) for num in nums if 条件]

  2. 使用list()函数创建新列表:newlist = list(("x1","x2"))

列表的简单操作:

  • 列表的增加相关操作:

  • append():list.append(object),在list列表最后添加object元素;会改变原来的列表

  • insert():list.insert(index,object),在索引为index的位置放入object,index之后的列表元素索引会发生改变+1

  • extend():往列表中,扩展另外一个可迭代序列;list1.extend(list2)--改变list1,即在list1之后接入list2;切记list2不仅仅可以是列表,list2可以是任何可迭代 的数据类型,当list2为字符串时,使用extend之后会对list2进行拆分然后接入。

  • 列表支持 ’+‘ 和 ’ * ‘,’+‘操作是将两个列表进行合并,,而’ * ‘操作可以理解为重复几次 例如 list1 = [1,2] list1*2-->[1,2,1,2]

  • 列表的删除相关操作:

  • del方法:删除指定的索引:list1 = [1,2,3,4] -->del list1[0] -->list1 = [2,3,4]

  • remove()方法:删除指定的元素:list1 = [1,2,3,4] -->list1.remove("2") -->list1 = [1,3,4];若列表存在重复元素,只会删除顺序的第一个元素:list2 = [1,2,3,2,4] -->list2.remove(2) -->list2 = [1,3,2,4]

  • pop()方法:删除指定的索引:list1 = [1,2,3,4] -->list1.pop(1) -->list1 = [1,3,4];默认索引为-1

  • clear()方法:清空列表,列表不会被删除但是列表为空:list1 = [1,2,3,4] -->list1.clear() -->list1 = []

  • 列表因为是可以修改的所以我们可以通过 list1[index]=修改后的内容 进行修改

  • 列表的查询相关操作:

  • 获取单个元素:list1[index]

  • 获取元素索引:index()方法:idx = list1.index(num,a,b) a,b不是必须参数,如果不加上a,b那么idx就是列表中num第一次出现的下标,而a,b是用于指定下标从a-->b

  • 获取指定元素个数:count()方法:c = list1.count(obj)-->obj出现的次数

  • 列表切片:list1[start:stop:step]-->从start开始到stop以step为步长

  • 列表遍历相关操作:

  • 方法一:直接遍历--> for x in list1:

  • 方法二:根据索引--> for i in range(len(list1)):

  • 方法三:创建对应的枚举对象 :语法--> enumerate(sequence,[start=0]);枚举对象可以直接遍历,使用枚举函数之后我们再将其列表化即使用list()函数 可以得到列表点集[(索引, 元素)....]如图:通过不同种遍历方式我们可以得到如下结果:红线标注的为points[0]和points[1]的分界

     

     

     

  • 方法四:利用迭代器 (简单理解的话迭代就是可以遍历);其实判断是否是可迭代对象可以是用 collections模块中的 isinstance()函数-->isinstance(object, collections.Iterable) 判断object是不是可迭代对象。 迭代器是可以记录遍历位置的对象,从第一个元素开始,往后通过next()函数,进行遍历;只能往后,不能往前;判定依据:能作用于next()函数;判定方法:collections模块中 的 isinstance(object,collections.Iterator);迭代器也是可迭代对象,所以也可以作用于for in; 迭代器可以使用iter()函数生成 迭代器生成函数的对象是可迭代对象;迭代器:仅仅在迭代到某个元素时才处理该元素--在此之前,元素可以不存在,在此之后,元素可以被销毁,特别适合用于遍历一些巨大的或是无限的集合--斐波那契数列;统一的访问集合的接口--iter(Iterable){str,list,tuple,dict...}。迭代器的简单使用:使用next()函数,从迭代器中取出下一个对象,从第1个元素开始;在python中,可以直接作用于for in(内部会自动调用迭代器对象的next(),会自动处理迭代完毕的错误) 注意事项:如果迭代完毕再继续迭代,则会报错;迭代器一般不能多次迭代

列表排序操作:

  • 方法一:内置函数sorted():可以对所有可迭代对象进行排序;语法:sorted(iterable,key=None,reverse=False) iterable 为可迭代对象,key排序关键字,reverse控制升序降序,默认False为升序;返回值是一个列表类型

  • 方式二:列表对象方法;语法:list.sort(key=None,reverse=False),key排序关键字,reverse控制升序降序,默认False为升序;不会产生新的列表,而是对list本身进行排序

列表的乱序和倒叙操作:

乱序:

使用random模块中的shuffle函数

random.shuffle(list1)-->不会产生新的列表,只是针对原列表进行乱序处理

倒叙:

list.reverse()-->不会产生新的列表,只是针对原列表进行乱序处理

切片倒叙 list2 = list1[::-1]

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值