文档章节

Python list列表的高级应用

AllenOR灵感
 AllenOR灵感
发布于 2017/09/10 01:20
字数 245
阅读 3
收藏 0
点赞 0
评论 0

在python的所有数据结构中,list具有重要地位,而且非常方便。

第一,list像栈一样使用。

stack = [1,2,3]
# 先进元素4,5
stack.append(4)
stack.append(5)
# 先出元素5,4
stack.pop() # 删除元素5
stack.pop() # 删除元素4
stack 
# [1,2,3]

第二,list像队列一样使用。

from collections import deque
queue = deque([1,2,3])
# 先进元素4,5
queue.append(4)
queue.append(5)
# 先出元素1,2
queue.popleft() # 删除元素1
queue.popleft() # 删除元素2
queue
# [3,4,5]

第三,列表与过滤函数filter()的应用。

filter(lambda x: x%2==0, range(10))
# [0,2,4,6,8]

第四,列表与迭代函数map()的应用。

map(lambda x: x%2==0, range(10))
# [True, False, True, False, True, False, True, False, True, False]

第五,列表与汇聚函数reduce()的应用。

reduce(lambda x,y: x+y, range(10))
# 45

第六,列表与enumerate()函数。

for i, v in enumerate(['tic', 'tac', 'toe']):
  print i, v

# output
0 tic
1 tac
2 toe

第七,列表与zip()函数。

a = [1,2,3]
b = [4,5,6]
zippend = zip(a,b)
# zippend = [(1,4),(2,5),(3,6)]
zip(*zippend)
# [(1,2,3),(4,5,6)]

本文转载自:http://www.jianshu.com/p/812284a76247

共有 人打赏支持
AllenOR灵感
粉丝 10
博文 2139
码字总数 82983
作品 0
程序员
人人都能学会的python编程教程14:高级特性1

切片 取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下: L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] 第一个元素的索引是0,第二个元素的索引是1......,倒数第一个...

编程老司机 ⋅ 05/10 ⋅ 0

人人都能学会的python编程教程15:高级特性2

生成器 如果你想要一百万个数,而这些数里只有一百个数是你经常要用的,剩下的都几乎不怎么会用到,那么如果直接把这一百万个数全部放在list中是不明智的因为这会浪费较多存储空间,生成器就...

编程老司机 ⋅ 05/10 ⋅ 0

人人都能学会的python编程教程(基础篇)完整版

人人都能学会的python编程教程1:第一行代码 人人都能学会的python编程教程2:数据类型和变量 人人都能学会的python编程教程3:字符串和编码 人人都能学会的python编程教程4:关系运算符与循...

编程老司机 ⋅ 05/10 ⋅ 0

人人都能学会的python编程教程6:列表(list)

上期编程题的答案如上图。 列表(list) list是一种有序的集合,可以随时添加和删除其中的元素。 当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一...

编程老司机 ⋅ 05/10 ⋅ 0

python语法小细节及小定义(一)

首先,Python是强类型语言,动态类型语言。 那么什么是强类型语言?就是数据类型非常固定的语言,例如说python中的str类型数据和int类型数据不能互相作用。而c和js就是弱类型语言。 动态类型...

戴千岩 ⋅ 2017/09/26 ⋅ 0

在Win10和Linux上分别安装Python虚拟环境

很多初学者会使用windows作为开发机使用, 今天就来看下如何在win10和Linux下分别安装Python虚机环境。虚机环境有非常多的优点,今天我们用的虚拟环境是virtualenv。 virtualenv用于创建独立...

p柯西 ⋅ 06/02 ⋅ 0

5分钟教你学会Django系统错误监控

一、监控所有的request请求 如何实现系统监控,自动发送错误日志的邮件呢? 只需配置配置settings文件即可。 1.设置发送邮件配置信息 邮件会发送到ADMINS设定的邮件列表中。 2.配置LOGGING 1...

p柯西 ⋅ 06/20 ⋅ 0

Python3基础知识点的讲解(四)

绪论 本篇文章既上篇文章之后为大家带来的是关于Python3中一些基础的知识点,通过上篇的学习,我们队Python3中的一些基本的语法有所了解和掌握。 主要内容的介绍 字典的介绍 字典的运用 元组...

长风留言 ⋅ 06/08 ⋅ 0

实战(一)之使用自带urllib和re正则表达式获取电影详情页链接

一、关于urllib库 网上urllib库的教程文章非常多而且详细具体,我就不过多叙述和重复了,个人更加倾向于将精力放在实战上,而不是反反复复拷贝教程(其实是因为我懒),来几篇干货参考。 py...

鱼头豆腐文 ⋅ 2017/12/04 ⋅ 0

[雪峰磁针石博客]python3快速入门教程9重要的标准库-高级篇

[雪峰磁针石博客]python3快速入门教程 输出格式 reprlib模块为大型的或深度嵌套的容器提供了缩写显示的repr(): pprint提供显示更好的print。 textwrap模块格式化文本段落以适应设定的屏宽: l...

Python测试开发人工智能 ⋅ 06/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windows profesional 2017 build problem

.net framework .... https://stackoverflow.com/questions/43330915/could-not-load-file-or-assembly-microsoft-build-frameworkvs-2017...

机油战士 ⋅ 17分钟前 ⋅ 0

python3中报错的解决方法(长期更新)

1、ImportError: No module named ‘DjangoUeditor’ 出错原因:安装DjangoUeditor库适用于python2,需要下载适用python3的 下载地址:https://github.com/twz915/DjangoUeditor3 2、python3......

xiaoge2016 ⋅ 22分钟前 ⋅ 0

数据结构与算法之双向链表

一、双向链表 1.双向链表的结点结构 typedef struct DualNode{ ElemType data; struct DualNode *prior; // 前驱结点 struct DualNode *next; // 后继结点}DualNode, *DuL...

aibinxiao ⋅ 42分钟前 ⋅ 0

五大最核心的大数据技术

大数据技术有5个核心部分,数据采集、数据存储、数据清洗、数据挖掘、数据可视化。关于这5个部分,有哪些核心技术?这些技术有哪些潜在价值?看完今天的文章就知道了。 大数据学习群:7165810...

董黎明 ⋅ 43分钟前 ⋅ 0

PhpStorm 头部注释、类注释和函数注释的设置

首先,PhpStorm中文件、类、函数等注释的设置在:setting-》Editor-》FIle and Code Template-》Includes下设置即可,其中方法的默认是这样的: /**${PARAM_DOC}#if (${TYPE_HINT} != "v...

nsns ⋅ 43分钟前 ⋅ 0

spring.net AOP

http://www.springframework.net/doc-latest/reference/html/aop-quickstart.html https://www.cnblogs.com/wujy/archive/2013/04/06/3003120.html...

whoisliang ⋅ 48分钟前 ⋅ 0

【HAVENT原创】创建 Dockerfile 生成新的镜像,并发布到 DockerHub

注意:Win7 与 Win10 的版本存在差异,Win7 版本使用 Docker Quickstart Terminal 进入控制台,Win10下面直接用管理员权限打开控制台或者 PowerShell 即可;另外 Win7 下面只能访问 C盘,/ap...

HAVENT ⋅ 48分钟前 ⋅ 0

pom.xml出现web.xml is missing ...解决方案

提示信息应该能看懂。也就是缺少了web.xml文件,<failOnMissingWebXml>被设置成true了。 搜索了一下,Stack Overflow上的答案解决了问题,分享一下。 目前被顶次数最多的回答原文如下: This...

源哥L ⋅ 49分钟前 ⋅ 0

js时间戳与日期格式之间相互转换

1. 将时间戳转换成日期格式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法,需要什么样的格式自己...

Jack088 ⋅ 54分钟前 ⋅ 0

web添加log4j

添加xml配置log4j.properties # Global logging configuration---root日志设置#log4j.rootLogger=info,dailyRollingFile,stdoutlog4j.rootLogger=debug,stdout,dailyRollingFile---......

黄柳淞 ⋅ 55分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部