python list定义_Python中list总结
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总结相关推荐
- python递归函数定义_python中递归函数
python之递归函数 一.递归函数定义 什么是递归: 在一个函数里在调用这个函数本身 最大递归层数是:997 最大递归层数可以修改,建议不要去修改 (如果997层数递归都没解决你的问题那只有两个原因 ...
- python 宏定义_python Debug宏定义
前言 调试python时,常碰到打印信息需手动删除:且python没有宏定义. 依据之前使用C的习惯,定义调试模式,仅调试模式下才打印调试信息. 步骤: 1.增添const.py # -*- codi ...
- python map用法_Python中ChainMap的一种实用用法
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 简而言之ChainMap:将多个字典视为一个,解锁Python超能力. Python标准库中的集合模块包含 ...
- 和python高级知识_Python中的5个高阶概念属性的知识点!你要了解明白哦!
在现代编程世界中,面向对象编程(OOP)语言在改变软件开发中的设计和实现模式方面发挥了进化作用.作为OOP家族的重要成员,Python在过去10年左右逐渐流行起来.与其他OOP语言一样,Python围 ...
- python解析原理_Python 中 -m 的典型用法、原理解析与发展演变
在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module- ...
- python 逆序_python中逆序
python中的list的sort方法怎样逆序输出 很简单啊, sort 支持 reverse 参数,看下面的例子,分别按照正常顺序 (升序)排列,以及按照逆序排列. >>> l = ...
- python正则表达式空格_python中的正则表达式的使用
一.正则表达式简介 正则表达式:又称正规表示式.正规表示法.正规表达式.规则表示式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或者是RE),是计算 ...
- python基本统计量_Python中简单统计量的计算
本篇文章给大家带来的内容是关于Python中简单统计量的计算,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.这些操作都要确保已经在电脑中安装好了Anaconda集成库,如果安装好 ...
- python wraps模块_python中 wraps 的作用
这里使用两段代码比较加入wraps装饰器后,函数打印的结果对比: 新建文件名:Testword 代码1:不加wraps装饰器 # coding=utf-8 from functools import ...
最新文章
- 超图iServer服务管理概述
- 南京大学与东南大学计算机学院,南京被“严重低估”的1所大学,拥有8个A+学科,无奈校名太普通...
- 程序员应该学的追女孩方法
- java如何确保单线程_java是如何解决单线程之间的通信问题呢?这篇文章给你答案...
- 数据结构系统学习(1)数据类型和数据结构的概念
- Leetcode每日一题:29.divide-two-integers(两数相除)
- vscode 注释快捷键_koroFileHeader:一个用于生成文件头部注释和函数注释的插件
- Word中把竖排文字里的数字变横向
- 计算机执行优盘上程序的过程,U盘打开后,文件变成exe执行文件怎么办-电脑自学网...
- 使用青龙面板BP京东豆
- 抽象代数 群论(第1章)2 子群,配集分解,循环群
- python 3.8.5 打包_python做个word转pdf的小软件
- 每日任务:1276. 不浪费原料的汉堡制作方案
- centos 7.6 —— Nginx 配置网页防盗链FPM参数优化
- 教你怎么用Python,每天自动给女友免费发短信
- Java练习题-龟兔赛跑
- Arduino与Proteus仿真实例-DS1307实时时钟驱动仿真
- 今日记录:.sh文件没有权限怎么解决
- Cesium 拾取坐标偏移问题
- 做一个正气的杭电人 HDU