Full Stack Python logo Full Stack Python

全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码

推导式

推导式是 Python 语言的构件之一,使用它能简洁地构建列表、字典和集合。列表推导式在 Python 2 中引入,而字典和集合的推导式是在 Python 3 时引用的。

推导式为什么很重要?

在 Python 核心数据结构中填充条件式数据,推导式是一种较清晰的语法。如果没有推导式,实现相同的功能通常需要使用嵌套的循环和条件语句,这使得代码阅读者很难进行适当的评估。

示例代码

列表推导式:

  1. >>> double_digit_evens = [e*2 for e in range(5, 50)]
  2. >>> double_digit_evens
  3. [10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]

集合推导式:

  1. >>> double_digit_odds = {e*2+1 for e in range(5, 50)}
  2. {11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99}

字典推导式:

  1. >>> {e: e*10 for e in range(1, 11)}
  2. {1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60, 7: 70, 8: 80, 9: 90, 10: 100}

推导式相关资源

  • Intermediate Python 上的 Python 推导式 这篇文章对 Python 这三个核心数据结构的推导式做了相当不错的总结。

  • Python 列表推导式: 可视化讲解 讲解了这种迭代的惯用法是如何变成语言本身的语法糖的以及如何在自己的程序中使用它。

  • Python 3 模式及惯用法网站对 推导式 做了总结,并用代码示例和图表讲解了它们是如何运作的。

  • 以绝地武士的方式讲解 Python 的推导式 以星球大战的主题风格展示推导式,并演示了它的各要点知识。所有示例都用 Python 3.5 写成。

  • Python 惯用法: 推导式 讲解了 Python 推导式如何受到 Haskell 列表推导式的启发。并以清晰的例子讲解推导式是如何简化普通迭代代码的—例如将一个列表复制到另一个列表并对其中的元素进行一些操作。

  • 通过例子学 Python :列表推导式 先给出一个不正确的列表推导式的例子,然后讲解如何修正错误。

  • Python 的列表推导式 这篇文章涉及列表推导式代码是怎样的,并提供一些示例代码以展示它们是如何工作的。

  • Python 列表简介 对 Python 列表做了大体而可靠的综述,其中当然也涉及到列表推导式。

接下来想研究什么主题?

什么是 Python 生成器?

给我一份值得观看的最佳 Python 视频列表。

编写 Python 应用应该用什么编辑器?

#### 在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。

The Full Stack Python Guide to Deployments 想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.

邮件获取更新

##### 注册以便每月能收到一份邮件资料,内容包含本站的主要更新和 Python 教程。

目录

1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.

推导式

重要的更新内容会通过 Twitter 账号@fullstackpython发布。


需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。

Chapters

1. 简介2. 开发环境3. 核心语言 » 推导式 4. Web 开发5. 数据6. Web APIs7. 部署8. 测试9. Meta …or view the full table of contents.


This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!

此网站由 @haiiiiiyun开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目