python中从for循环延申到推导式的具体使用

可以使用for循环通过遍历list或者其他可迭代对象进行迭代操作,但是循环语法有时不够简洁,可以使用Python的推导式实现同样的操作。

Python中的推导式是一种简洁、快速、简单的利用迭代器快速构建一个列表、字典或集合的方法,Python中有列表推导式,字典推导式和集合推导式三种。

列表推导式

列表推导式使用简单,使用一行代码就能快速构建一个列表:

new_list = [表达式 for 变量 in 可迭代对象 if 条件]
  • 表达式:循环可能执行的操作;
  • 变量:在循环过程中用来实时迭代对象的某个元素;
  • 可迭代对象:列表、元组、集合、字符串或其他可迭代的对象;
  • if条件:一个或多个判断语句,可留空。

示例一:将数字列表中的每个数平方并存储到新列表中

origin_list = [1, 2, 3, 4, 5]
new_list = [x ** 2 for x in origin_list]
print(new_list)  # [1, 4, 9, 16, 25]

示例二:筛选出数字列表中大于3的数并存储到新列表中

origin_list = [1, 2, 3, 4, 5]
new_list = [x for x in origin_list if x > 3]
print(new_list)  # [4, 5]

字典推导式

除了使用列表推导式,还可以使用字典推导式快速构建一个字典,使用一行代码就能快速构建一个字典:

new_dict = {key: value for key, value in 可迭代对象 if 条件}
  • key:在迭代对象中的元素,用于键;
  • value:在迭代对象中的元素,用于值;
  • 可迭代对象:列表、元组、集合、字符串或其他可迭代的对象;
  • if条件:一个或多个判断语句,可留空。

示例三:将列表中的元素映射为字典的键值对

origin_list = [("name", "Tom"), ("age", 18), ("gender", "male")]
new_dict = dict(origin_list)
print(new_dict)  # {'name': 'Tom', 'age': 18, 'gender': 'male'}

示例四:将字典中的值与其对应的键进行交换

origin_dict = {"name": "Tom", "age": 18, "gender": "male"}
new_dict = {value: key for key, value in origin_dict.items()}
print(new_dict)  # {'Tom': 'name', 18: 'age', 'male': 'gender'}

集合推导式

使用集合推导式可以快速得到一个集合,与列表推导式和字典推导式相似,使用一行代码就能快速构建一个集合:

new_set = {元素 for 变量 in 可迭代对象 if 条件}
  • 元素:由可迭代对象变量指向的元素;
  • 变量:在循环过程中用来实时迭代对象的某个元素;
  • 可迭代对象:列表、元组、集合、字符串或其他可迭代的对象;
  • if条件:一个或多个判断语句,可留空。

示例五:将列表中的元素去重存储到一个集合中

origin_list = [1, 2, 3, 3, 4, 4, 5, 5]
new_set = {x for x in origin_list}
print(new_set)  # {1, 2, 3, 4, 5}

示例六:将一个字符串中的元素去重存储到一个集合中

origin_str = "hello, world"
new_set = {char for char in origin_str if char != " "}
print(new_set)  # {'w', 'e', 'h', 'r', 'l', 'd', 'o', ','}

以上就是从for循环延申到推导式的具体使用攻略,包含列表推导式、字典推导式和集合推导式三种推导式的详细说明以及示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中从for循环延申到推导式的具体使用 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python 搭建简单的http server,可直接post文件的实例

    在Python中,我们可以使用http.server模块来搭建一个简单的HTTP服务器。本文将介绍如何使用http.server模块搭建一个简单的HTTP服务器,并提供两个示例,演示如何直接POST文件。 1. 搭建简单的HTTP服务器 首先,我们需要使用http.server模块搭建一个简单的HTTP服务器。以下是一个示例,演示如何使用http.serve…

    python 2023年5月15日
    00
  • 如何在C#中使用只读的 Collections

    接下来我将为你详细讲解如何在 C# 中使用只读的 Collections。 什么是只读的 Collection 在 .NET 中,有许多不同类型的集合类。其中,只读的 Collection 是指一种不可修改的集合,即集合的“只读”方法中只存在读取操作,没有修改操作。这样做的好处是保证了一旦集合被创建后,它的内容将不会被修改。这在一些情况下是非常有用的,比如当…

    python 2023年6月3日
    00
  • Python调用系统命令的四种方法详解(os.system、os.popen、commands、subprocess)

    Python调用系统命令的四种方法详解 在Python程序中,有时候需要调用系统命令来完成一些特定的任务。这篇文章将介绍Python调用系统命令的四种方法:os.system、os.popen、commands、subprocess。我们将会学习每一种方法的特点和使用场景,并且提供具体的示例代码。 1. os.system os.system(command…

    python 2023年5月30日
    00
  • Python强大的自省机制详解

    Python强大的自省机制详解 在Python中,自省是指在程序运行的时候,能够查询任意对象的相关信息,比如对象的类型、属性、方法等等。Python的自省机制非常强大,能够极大地提升开发效率。本文将深入讲解Python的自省机制,包括类型检查、属性查询、方法查询等内容。 一、类型检查 在Python中,可以通过内置函数type()来查看一个对象的类型。比如下…

    python 2023年6月5日
    00
  • python中pip的使用和修改下载源的方法

    对于Python开发者来说,pip是一个必不可少的工具。Pip是Python的包管理器,可以方便地安装、升级、卸载Python包。在这篇文章中,我们将详细介绍Python中pip的使用和修改下载源的方法。 安装pip Python 2.7.9及以上版本以及Python 3.4及以上版本都内置了pip。如果你的Python版本中没有pip,你可以从https:…

    python 2023年5月14日
    00
  • python使用fork实现守护进程的方法

    当我们希望一些Python代码在后台不断运行,同时保证它不会因为意外情况而终止,比如说退出或崩溃,那么这时候我们通常会使用“守护进程”的方式来达成这个目的。Python的os模块提供了实现守护进程的方法,其中使用fork来创建进程是一种相对简单的实现方式。 1. 使用fork创建守护进程步骤示例 以下是使用fork来创建守护进程步骤示例: import os…

    python 2023年6月3日
    00
  • Python爬虫框架之Scrapy中Spider的用法

    Python爬虫框架之Scrapy中Spider的用法 简介 Scrapy是一个用于爬取网站数据的Python框架,是Python爬虫工具中的一种,其提供了高效、快捷和可扩展的数据获取方式。其中Spider是Scrapy框架中最基本的爬虫,用于定制和控制Scrapy框架的爬取过程。 Spider的基本用法 创建Spider 在Scrapy框架中,我们通过创建…

    python 2023年5月14日
    00
  • 使用PyCharm安装pytest及requests的问题

    使用PyCharm安装pytest及requests主要包含以下步骤: 步骤一:打开PyCharm 首先打开PyCharm,确保系统安装好了Python环境。 步骤二:创建Python项目 在PyCharm中点击”Create New Project”,选择Python并设置项目名称和路径,然后点击”Create”。 步骤三:安装pytest和request…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部