一,Python 的列表数据类型包含更多的方法。 这里是所有的列表对象方法: list.append(x)

把一个元素添加到链表的结尾,相当于 a[len(a):] = [x] 。

list.extend(L)
将一个给定列表中的所有元素都添加到另一个列表中,相当于 a[len(a):] =
L。

list.insert(i, x)
在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,
例如 a.insert(0, x) 会插入到整个链表之前,而 a.insert(len(a), x)
相当于 a.append(x) 。

list.remove(x)
删除链表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误。

list.pop([i ])
从链表的指定位置删除元素,并将其返回。如果没有指定索引, a.pop() 返回
最后一个元素。元素随即从链表中被删除。(方法中 i 两边的方括号表示这个参
数是可选的,而不是要求你输入一对方括号,你会经常在Python 库参考手册中遇
到这样的标记。)

list.index(x)
返回链表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错
误。

list.count(x)
返回 x 在链表中出现的次数。

list.sort()
对链表中的元素就地进行排序。

list.reverse()
就地倒排链表中的元素。

二,链表方法使得链表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最 先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加 到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来。例如:

>>> stack = [3, 4, 5] >>> stack.append(6) >>> stack.append(7) >>> stack

[3, 4, 5, 6, 7]

>>> stack.pop() 7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6

>>> stack.pop()
5
>>> stack
[3, 4]

三,

5.1.2 把链表当作队列使用

你也可以把链表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放 (先进先出)。不过,列表这样用效率不高。相对来说从列表末尾添加和弹出很快; 在头部插入和弹出很慢(因为,为了一个元素,要移动整个列表中的所有元素)。

要实现队列,使用 collections.deque ,它为在首尾两端快速插入和删除而设计。 例如:

>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])

>>> queue.append("Terry")
>>> queue.append("Graham")
>>> queue.popleft()
’Eric’

# Terry arrives
# Graham arrives
# The first to arrive now leaves

>>> queue.popleft()
’John’

 

四,列表推导式

列表推导式为从序列中创建列表提供了一个简单的方法。 普通的应用程式通过将一些 操作应用于序列的每个成员并通过返回的元素创建列表,或者通过满足特定条件的元 素创建子序列。

例如, 假设我们创建一个 squares 列表, 可以像下面方式:

我们同样能够达到目的采用下面的方式: = **for in ()]

这也相当于 squares = map(lambda x: x**2, range(10)), 但是上面的方式 显得简洁以及具有可读性。

列表推导式由包含一个表达式的括号组成,表达式后面跟随一个 for 子句,之后可以 有零或多个 for 或 if 子句。 结果是一个列表,由表达式依据其后面的 for 和 if 子 句上下文计算而来的结果构成。

例如,如下的列表推导式结合两个列表的元素,如果元素之间不相等的话:

等同于:

>>> combs = []
>>> for x in [1,2,3]:

for y in [3,1,4]:
if x != y:

...
...
...
...
>>> combs
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

 

python 列表 list的基本操作的更多相关文章

  1. python列表元素的基本操作

    1.列表元素的增加 python提供三种方法增加元素,append,extend,insert. 区别:例  list3=[1,10,100,1000,10000] A.   list3.append ...

  2. [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  3. Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  4. 转:Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

    转自:http://blog.csdn.net/business122/article/details/7536991 创建列表 sample_list = ['a',1,('a','b')] Pyt ...

  5. python列表基础操作

    Python列表基本操作 记住一句话,叫做顾首不顾尾 首先我们来定义一个列表 name = ["jixuege","dajiba","boduoye& ...

  6. Python—列表(一个“打了激素”的数组)

    我们在C语言中会使用数组来将一大堆数据类型一样的数据挨个摆在一起,但是数组有一个基本的要求,就是数据类型必须是一致的,我们知道Python的变量由于没有数据类型,也就是说Python没有数组这一概念, ...

  7. Python 学习笔记(八)Python列表(一)

    列表基本操作 列表(list)定义  列表是Python中的一种对象类型,也是一种序列 对象类型:list 表示方法:[ ] python 列表中的元素可以是任何类型的对象 >>> ...

  8. (转)python 列表与元组的操作简介

    python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...

  9. python学习9—文件基本操作与高级操作

    python学习9—文件基本操作与高级操作 1. 文件基本操作 打开文件,获得文件句柄:f = open('filename',encoding='utf-8'),open会查询操作系统的编码方式,并 ...

随机推荐

  1. 内存泄露java.lang.OutOfMemoryError: PermGen space解决方法

    PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被 ...

  2. MySQL配置文件my.ini或my.cnf的位置

    1.Windows下MySQL的配置文件是my.ini,一般会在安装目录的根目录. 2.Linux下MySQL的配置文件是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.c ...

  3. xgboost中XGBClassifier()参数详解

    http://www.cnblogs.com/wanglei5205/p/8579244.html 常规参数 booster gbtree 树模型做为基分类器(默认) gbliner 线性模型做为基分 ...

  4. Centos上SSH连接过慢原因

    最近发现机房里有些centos机器进行ssh登陆非常慢且会超时,经过查看发现时GSPI认证过慢问题造成: 使用 ssh -v 发现 debug1: SSH2_MSG_SERVICE_ACCEPT re ...

  5. C++学习(四十)(C语言部分)之 学生管理系统设计

    涉及到的:指针申请内存 结构体数据结构部分排序文件操作 vs2013数据结构 排序 结构体 指针 功能:1.人工录入信息2.删除3.查找4.修改5.全部显示6.文件的读取和保存7.排序 设计:学生信息 ...

  6. exe4j使用说明

    1:首先下载exe4j,软件根据电脑的版本下载(32bit or 64bit,本人的电脑是64bit),我下载的是没显示电脑版本的exe4j,有本地导入的选项和联网下载的选项,安装jre后才能进入-图 ...

  7. IntelliJ IDEA 2018.3 升级功能介绍

    |0前言 2018.11.28 IntelliJ IDEA 2018.3 正式版发布.对于一个忠实爱好者,迫不及待的我下载了最新版本来体验下.而且 IDEA 今年的第三次重大更新提供了不容错过的显著功 ...

  8. Getting Visual Studio version of a Solution file

    VS 6.0 -> 6.0 VS 2002 -> 7.0 VS 2003 -> 8.0 VS 2005 -> 9.0 VS 2008 -> 10.0 VS 2010 -& ...

  9. Mongo数据库基本操作

    从这两个类的继承来看,connection是继承了MongoClient的,建议使用MongoClient而不是使用Connection.(也就是说,MongoClient可以使用方法Connecti ...

  10. 安装JVCL/JCL组件

    在安装的时候,注意要先安装JCL,我试图直接安装JVCL,提示找不到文件,先安装JCL后再安装就不存在这个问题.安装到组件面板上的安装包以D结尾,可以Install,以R结尾的只要编译就可以了. 安装 ...