1:列表 list的定义:

一个连续的,排列有序的数列,由若干个元素组成,元素可以是任意对象(数字、字符串,对象,列表),元素可以使用索引查找,线性的数据结构。使用[ ]表示。列表是可变的,是可迭代对象。

列表具体定义

l=[ ] (空列表) l=list(iterable)

列表不能一开始就定义大小。指定大小会报类型错误(TypeError)。

2:列表,链表的差异:

列表list(使用index查找,找的代价小,插入比较慢),

链表 (查找的比较慢,插入比较方便),

具体花费的时间需要根据具体的使用情况权衡。

3:queue ,stack的差异

queue(队列:先进先出的队列)

stack(栈:先进后出)

4:列表的索引访问

索引,也叫下标

正索引:从左至右,从0开始,为列表中每一个元素编号

负索引:从右至左,从-1开始

正负索引不可以超界,否则引起IndexError

约定:可以认为列表是从左至右排列,左边是头部,右边是尾部,左边是下界,右边是上界

列表通过索引访问。 list[index],index就是索引,使用中括号访问

5:列表的查询方法

index(value,[start,[stop]])通过值查找的。没有查到就抛ValueError , 靠值遍历的方式

通过值value,从指定的范围内查找列表内的元素是否匹配

匹配第一个就立即返回索引,匹配不到,就抛出异常ValueError

count(value) 靠值遍历的方式 没有查找到数值不抛出异常。返回列表中匹配value的次数

时间复杂度 遍历查找的都是O(n),index和count方法都是O(n)

len () 统计列表的长度方法

6:列表元素的修改方法

list[index]=value 索引不要超界

列表增加、插入元素

append(object)--->None 列表尾部追加元素,返回None

返回None就意味着没有新的列表产生,直接修改列表。 时间复杂度是O(1)

insert(index,object)----->None 在指定的索引index处插入元素object

返回None就意味着没有新的列表产生,直接修改列表。时间复杂度是O(n)

注意(使用insert()时): 超越上界,尾部追加。 超越下届,头部追加

extend(iteratable)--->none 将可迭代对象的元素追加进来,返回None 。直接修改列表。

时间复杂度是O(1)

+----->list 创建一个没有引用的新对象,之后会被垃圾回收

链接操作,将两个列表连接起来,原列表不会改变,会产生新的列表

本质上是调用——add_()方法

*------>list 重复操作,将本列表元素重复n次,放回新的列表 列表重复,如果设置数列里面也是数列,会遇到修改一 个,其他重复的元素也跟着修改。

7:列表的删除元素

remove(value)--->None 从左至右查找第一个匹配的value的值,移除该元素,返回None

时间复杂度是O(n) ,需要一个一个查找

pop([index])-->item

不指定索引index,就从列表尾部弹出一个元素,这种情况时间复杂度为:O(1)

指定索引index,就从索引出弹出一个元素,索引超界会抛出IndexError错误

clear()---None 清除列表所有元素,剩下一个空列表

8:列表的其他操作

reverse()-->None reverse将列表的元素反转,放回None 直接修改列表。

sort(key=None,reverse=false)-->None

对列表元素进行排序,直接修改列表,默认升序。reverse为True,反转,降序

key一个函数,指定Key如何排序 lst.sort(key=functionname)

in 判断一个列表是否属于另一个列表

python list定义_Python中list总结相关推荐

  1. python递归函数定义_python中递归函数

    python之递归函数 一.递归函数定义 什么是递归: 在一个函数里在调用这个函数本身 最大递归层数是:997 最大递归层数可以修改,建议不要去修改 (如果997层数递归都没解决你的问题那只有两个原因 ...

  2. python 宏定义_python Debug宏定义

    前言 调试python时,常碰到打印信息需手动删除:且python没有宏定义. 依据之前使用C的习惯,定义调试模式,仅调试模式下才打印调试信息. 步骤: 1.增添const.py # -*- codi ...

  3. python map用法_Python中ChainMap的一种实用用法

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 简而言之ChainMap:将多个字典视为一个,解锁Python超能力. Python标准库中的集合模块包含 ...

  4. 和python高级知识_Python中的5个高阶概念属性的知识点!你要了解明白哦!

    在现代编程世界中,面向对象编程(OOP)语言在改变软件开发中的设计和实现模式方面发挥了进化作用.作为OOP家族的重要成员,Python在过去10年左右逐渐流行起来.与其他OOP语言一样,Python围 ...

  5. python解析原理_Python 中 -m 的典型用法、原理解析与发展演变

    在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module- ...

  6. python 逆序_python中逆序

    python中的list的sort方法怎样逆序输出 很简单啊, sort 支持 reverse 参数,看下面的例子,分别按照正常顺序 (升序)排列,以及按照逆序排列. >>> l = ...

  7. python正则表达式空格_python中的正则表达式的使用

    一.正则表达式简介 正则表达式:又称正规表示式.正规表示法.正规表达式.规则表示式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或者是RE),是计算 ...

  8. python基本统计量_Python中简单统计量的计算

    本篇文章给大家带来的内容是关于Python中简单统计量的计算,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.这些操作都要确保已经在电脑中安装好了Anaconda集成库,如果安装好 ...

  9. python wraps模块_python中 wraps 的作用

    这里使用两段代码比较加入wraps装饰器后,函数打印的结果对比: 新建文件名:Testword 代码1:不加wraps装饰器 # coding=utf-8 from functools import ...

最新文章

  1. 超图iServer服务管理概述
  2. 南京大学与东南大学计算机学院,南京被“严重低估”的1所大学,拥有8个A+学科,无奈校名太普通...
  3. 程序员应该学的追女孩方法
  4. java如何确保单线程_java是如何解决单线程之间的通信问题呢?这篇文章给你答案...
  5. 数据结构系统学习(1)数据类型和数据结构的概念
  6. Leetcode每日一题:29.divide-two-integers(两数相除)
  7. vscode 注释快捷键_koroFileHeader:一个用于生成文件头部注释和函数注释的插件
  8. Word中把竖排文字里的数字变横向
  9. 计算机执行优盘上程序的过程,U盘打开后,文件变成exe执行文件怎么办-电脑自学网...
  10. 使用青龙面板BP京东豆
  11. 抽象代数 群论(第1章)2 子群,配集分解,循环群
  12. python 3.8.5 打包_python做个word转pdf的小软件
  13. 每日任务:1276. 不浪费原料的汉堡制作方案
  14. centos 7.6 —— Nginx 配置网页防盗链FPM参数优化
  15. 教你怎么用Python,每天自动给女友免费发短信
  16. Java练习题-龟兔赛跑
  17. Arduino与Proteus仿真实例-DS1307实时时钟驱动仿真
  18. 今日记录:.sh文件没有权限怎么解决
  19. Cesium 拾取坐标偏移问题
  20. 做一个正气的杭电人 HDU

热门文章

  1. 树形$dp$学习笔记
  2. Java WEB之过滤器
  3. java并发编程(3)避免活跃性危险
  4. BigDecimal数据加法返回值接收
  5. [转载] 百科全说——王晓斋:感冒时您找准医生了吗?(10-10-11)
  6. 微软Silverlight 3正式版
  7. vue 源码 断点调试
  8. Java中,什么是最终类与最终方法?它们的作用是什么?
  9. 8: springMVC ModelAndView 作用与功能解析
  10. linux matplotlib 中文显示乱码