一,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. vue导出excel

    1.按装依赖 cnpm install -S file-saver xlsx cnpm install -D script-loader 2.引入Blob.js和expor2Excal.js 3.在m ...

  2. 慢工出细活 JS 等待加载效果

    实例可以直接运行查看效果.很方便快捷 <html> <head> <meta http-equiv="content-Type" content=&q ...

  3. svn同步小脚本

    企业中难免会有使用svn 的怎么给svn做好备份呢 下面是用两个脚本进行同步和监控 同步脚本: #!/bin/bash i=1 while true do if [ $(expr $i % 12) = ...

  4. PHP is_writeable 存在bug , 写一个自定函数 判断文件是否可写

    $is_w = function($file){ if(DIRECTORY_SEPARATOR == '/' and @ini_get('safe_mode')==false){ return is_ ...

  5. PythonStudy——函数的使用 Use of functions

    # print(a) # a = 10 # 注意:函数必须先定义,后使用 # print(get_water) def get_water(water, money): print('收入你的%d元钱 ...

  6. Python的深copy和浅copy

    浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象. 浅copy: a = [1, 2, ...

  7. 十八、springcloud(四)熔断器

    1.熔断器(Hystrix) a.断路器机制 断路器很好理解, 当Hystrix Command请求后端服务失败数量超过一定比例(默认50%), 断路器会切换到开路状态(Open). 这时所有请求会直 ...

  8. BVLC CaffeNet可视化及类别预测

    一.介绍 bvlc_reference_caffenet网络模型是由AlexNet的网络模型改写的,输入图片尺寸大小为227x227x3,输出的为该图片对应1000个分类的概率值. 介绍参考:caff ...

  9. docker镜像制作 centos6 nginx1.15.6 with NGINX_UPSYNC_MODULE

    首先我选择了在centos6里部署nginx的镜像,如果大家选择的是centos7,自己重新修改吧 这里的问题点有几个: 1,make的版本选择,因为我下载了最新的cmake,需要c++11编译 这玩 ...

  10. Python变量以及类型

    变量的定义 在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢? 大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账 ...