list(列表)是Python内置的可变序列(Sequence)类型,list的对象的方法也都是就地(in-place)更改调用这些方法的列表对象,

List的一些细节

  • 可以直接为list的某个下标赋值,改变list中指定下标位置的值,例如: l[2] = 'hello world' ;
  • list切片可以作为赋值语句的左值,此时赋值语句的右值必须是一个可迭代的对象:如果切片是extended模式(一端不封口,如 l[1:] ),那么赋值语句的左右值必须等长;如果切片不是extended模式,那么右值的可迭代对象可以是任意长度
  • 将[]作为右值将直接将左值对应的切片置空;
  • 将一个空的切片作为左值意味着将右值的可迭代对象插入到左值指定的位置,例如:
l[5:5] = ['a', 'b']

  等效于将['a', 'b']插入到下标5之前。

  • 使用覆盖整个列表的切片 l[:] 作为左值将会整个替换列表l的值。
  • 列表上定义的 + 和 * 运算都是就地的,所以可以对list对象使用augmented assignment语句直接改变目标列表的值:
x = []
x += x1

  等效于将可迭代对象x1的内容追加到x的结尾;

  而:

x = []
x *= n

  则等效于将n-1份x的拷贝追加到x的结尾。

List的内置方法

non-mutating方法

  这些方法并不会改变调用他们的列表对象,

l.count(x)

  统计l中x出现的次数;

l.index(x)

  返回x在l中首次出现的下标,如果l中没有x,则抛出ValueError

mutating方法

  下面的方法将直接改变调用他们的列表对象,

l.append(x)

  将x追加到l的末尾;

l.extends(s)

  将可迭代对象s中的所有item追加到l的队尾;

l.insert(i, x)

  将x插入到l中下标i的位置;

l.remove(x)

  从l中删除x第一次出现,如果l中没有x,抛出ValueError

l.pop([index])

  将l中下标为index的值返回并从列表中删除,省略index的话,直接返回列表末尾的值;

  如果l为空或者指定的index越界,抛出IndexError

l.reverse()

  就地反转列表l

l.sort(cmp=cmp, key=None, reverse=False)

  就地对列表l进行排序,对于l中的每一个item,使用cmp()函数对他们进行比较,从而判断他们之间的大小关系。不使用任何参数调用将使用Python默认的排序函数cmp()对列表中的item进行比较。

使用List实现Stack和Queue

Python内置类型——list的更多相关文章

  1. Python内置类型性能分析

    Python内置类型性能分析 timeit模块 timeit模块可以用来测试一小段Python代码的执行速度. class timeit.Timer(stmt='pass', setup='pass' ...

  2. Python 内置类型 dict, list,线程安全吗

    近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...

  3. 为什么继承 Python 内置类型会出问题?!

    本文出自"Python为什么"系列,请查看全部文章 不久前,Python猫 给大家推荐了一本书<流畅的Python>(点击可跳转阅读),那篇文章有比较多的"溢 ...

  4. Python——内置类型

    Python定义了丰富的数据类型,包括: 数值型:int, float, complex 序列:(iterable) str, unicode, tuple, list, bytearray, buf ...

  5. 易被忽略的Python内置类型

    Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们. 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些"不同寻常&quo ...

  6. Python内置类型——set

    Python中,内置类型set和frozenset用来表示集合,我们首先查看这两个类型支持的特殊对象,从而可以理解他们的特性. >>> dir(set) ['__and__', '_ ...

  7. 3、python内置类型(0529)

    python的内置对象类型以及支持的运算 python对象的相关术语 python程序中保存的所有数据都是围绕对象这个概念展开的 程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 ...

  8. python内置类型详细解释

    文章编写借鉴于内置类型 - Python 3.7.3 文档,主要用于自己学习和记录 python主要内置类型包括数字.序列.映射.类.实例和异常 有些多项集类是可变的.它们用于添加.移除或重排其成员的 ...

  9. Python内置类型(4)--数值

    Python有以下三种的数值类型: 整型(integers), 浮点型(floating point numbers), 以及 复数(complex numbers).此外,布尔是整数的子类型. 数值 ...

随机推荐

  1. Python图形编程探索系列-04-网上图片与标签组件的结合

    跳转到自己的博客 任务设定 任务:从网上找到一张图片,然后将其显示在标签上? 网上图片网站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.j ...

  2. Python解释数学系列——分位数Quantile

    跳转到我的博客 1. 分位数计算案例与Python代码 案例1 Ex1: Given a data = [6, 47, 49, 15, 42, 41, 7, 39, 43, 40, 36],求Q1, ...

  3. 在Windows系统配置Jekyll

    Jekyll 是一个简单的网站静态页面生成工具.由于是用Ruby语音编写的,所以在Windows系统上配置起来还是稍微有点繁琐的.具体过程如下: 安装Ruby:在Windows系统上当然使用rubyi ...

  4. css中display:none与visibility: hidden的区别

    display: none; 隐藏元素,不占用其本来空间------对应元素显示用的是display:block; visibility: hidden:元素隐藏,占用其本来的页面空间-------- ...

  5. 关于数据库alter的一系列操作总结

    表操作 对于表的操作——创建(create),删除(drop)来说,基本上大家都很清楚,而作为很少被使用到的修改(alter)命令往往存在一些问题,现在做一下总结: 添加列:alter table 表 ...

  6. File构建实例的路径:绝对路径和相对路径

    public static void main(String[] args) throws Exception { File file = new File("bin/dyan.txt&qu ...

  7. WinForm EF+MySql企业管理软件C/S项目实战演练

    一.课程介绍 我们都知道在软件架构方式分为:C/S和B/S两类.这里阿笨不谈论两种软件架构的优劣之分,因为它们各有千秋,用于不同场合.一位伟大的讲师曾经说过一句话:事物存在即合理!录制这堂课程的目的就 ...

  8. C++中extern “C”含义及extern、static关键字浅析

    https://blog.csdn.net/bzhxuexi/article/details/31782445 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C ...

  9. python 中的 easydict

    写在前面:当遇到一个陌生的python第三方库时,可以去pypi这个主页查看描述以迅速入门!或 import time dir(time) easydict的作用:可以使得以属性的方式去访问字典的值! ...

  10. UVA11137 Ingenuous Cubrency 完全背包 递推式子

    做数论都做傻了,这道题目 有推荐,当时的分类放在了递推里面,然后我就不停的去推啊推啊,后来推出来了,可是小一点的数 输出答案都没问题,大一点的数 输出答案就是错的,实在是不知道为什么,后来又不停的看, ...