Python列表推导式,元组推导式,字典推导式,集合推导式

Python 列表推导式、元组推导式、字典推导式和集合推导式是 Python 的高级语法,可以将一个可迭代对象快速转化为另一个可迭代对象,并且具有简洁、易读、高效的特点。

列表推导式

列表推导式是一种语法,允许根据已有列表快速构建另一个新的列表,语法如下:

[expression for item in iterable if condition]

其中,expression 表示新列表中的元素,item 表示从可迭代对象中取出的每一个元素,iterable 表示可迭代对象,condition 表示筛选条件,如果没有筛选条件可以省略。

示例一:将一个列表中的元素全部平方

a = [1, 2, 3, 4, 5]
b = [x ** 2 for x in a]
print(b)  # 输出 [1, 4, 9, 16, 25]

示例二:将一个字符串列表转为大写并去掉空字符串

a = ['hello', '', 'world']
b = [s.upper() for s in a if s]
print(b)  # 输出 ['HELLO', 'WORLD']

元组推导式

元组推导式是一个类似于列表推导式的语法,但产生的结果是一个元组,语法如下:

(expression for item in iterable if condition)

其中,expression 表示元组中的元素,item 表示从可迭代对象中取出的每一个元素,iterable 表示可迭代对象,condition 表示筛选条件,如果没有筛选条件可以省略。

示例一:将一个列表中的元素分别和其对应的下标组成元组

a = ['a', 'b', 'c']
b = tuple((i, x) for i, x in enumerate(a))
print(b)  # 输出 ((0, 'a'), (1, 'b'), (2, 'c'))

示例二:将一个数字列表中的奇数和偶数组成元组

a = [1, 2, 3, 4, 5]
b = tuple((x, x % 2 == 0) for x in a)
print(b)  # 输出 ((1, False), (2, True), (3, False), (4, True), (5, False))

字典推导式

字典推导式是一种语法,允许根据已有字典快速构建另一个新的字典,语法如下:

{key_expression: value_expression for item in iterable if condition}

其中,key_expression 表示新字典中的键,value_expression 表示新字典中的值,item 表示从可迭代对象中取出的每一个元素,iterable 表示可迭代对象,condition 表示筛选条件,如果没有筛选条件可以省略。

示例一:将一个字典中的键值对交换

a = {'a': 1, 'b': 2, 'c': 3}
b = {v: k for k, v in a.items()}
print(b)  # 输出 {1: 'a', 2: 'b', 3: 'c'}

示例二:将一个列表中的元素作为键,将元素的长度作为值

a = ['apple', 'banana', 'cat']
b = {x: len(x) for x in a}
print(b)  # 输出 {'apple': 5, 'banana': 6, 'cat': 3}

集合推导式

集合推导式是一种语法,允许根据已有序列快速构建另一个集合,语法如下:

{expression for item in iterable if condition}

其中,expression 表示集合中的元素,item 表示从可迭代对象中取出的每一个元素,iterable 表示可迭代对象,condition 表示筛选条件,如果没有筛选条件可以省略。

示例一:将一个列表中的元素去重

a = [1, 2, 3, 2, 4, 3]
b = {x for x in a}
print(b)  # 输出 {1, 2, 3, 4}

示例二:将一个字符串中的单词组成集合

s = 'hello world hello python'
b = {x for x in s.split()}
print(b)  # 输出 {'hello', 'world', 'python'}

以上就是 Python 列表推导式、元组推导式、字典推导式和集合推导式的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python列表推导式,元组推导式,字典推导式,集合推导式 - Python技术站

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

相关文章

  • Python根据URL地址下载文件并保存至对应目录的实现

    实现Python根据URL地址下载文件并保存至对应目录的方法,可分以下几个步骤: 确定下载文件的URL地址 利用Python的urllib模块发送请求,获取服务器响应的内容 将获取到的内容写入文件 将写入的文件保存至指定的目录 下面是具体的实现步骤和示例说明 确定下载文件的URL地址 首先需要确定要下载的文件URL地址。可以从浏览器的开发者工具中查看元素,确…

    python 2023年6月3日
    00
  • 【pandas基础】–概述

    Pandas是一个开源的Python数据分析库。它提供了快速,灵活和富有表现力的数据结构,旨在使数据清洗和分析变得简单而快速。 Pandas是基于NumPy数组构建的,因此它在许多NumPy函数上提供了直接的支持。它还提供了用于对表格数据进行操作的数据结构,例如Series和DataFrame。 Pandas提供了许多用于数据操作和处理的函数和方法,例如数据…

    python 2023年5月2日
    00
  • Python实现拼音转换

    Python实现拼音转换 拼音转换是指将中文汉字转换成对应的拼音字母,常用于中文输入法中的候选词显示和搜索引擎中的中文搜索。Python提供了多种方法实现拼音转换,包括使用第三方库和自定义转换函数等。 使用第三方库 Python中常用的第三方库有pypinyin和xpinyin。 pypinyin库 pypinyin库是一个完全用Python编写的、功能简单…

    python 2023年6月5日
    00
  • python实现简单的贪吃蛇游戏

    Python实现简单的贪吃蛇游戏 整体思路 贪吃蛇游戏可以分为三个模块:蛇的移动、食物的出现、蛇和食物的碰撞检测。 蛇的移动 蛇的移动使用Python的turtle模块实现。我们需要创建一个蛇类,用来存储蛇的坐标、方向、身体长度等信息。当蛇向上、下、左、右移动的时候,我们只需要将蛇头的坐标变为前一个身体坐标的值即可。蛇尾的坐标也需要随着蛇头的移动而更新,保证…

    python 2023年5月19日
    00
  • pytorch 把MNIST数据集转换成图片和txt的方法

    那我来详细讲解一下“pytorch 把MNIST数据集转换成图片和txt的方法”的完整攻略。 准备工作 在开始操作之前,需要先准备MNIST数据集和执行转换的代码文件。MNIST数据集可以在网上下载,或者使用pytorch中自带的torchvision.datasets获取。代码文件可以使用常见的文本编辑器编写,如Notepad、Sublime Text、V…

    python 2023年5月19日
    00
  • python实现测试工具(一)——命令行发送get请求

    Python实现测试工具(一)——命令行发送GET请求 在进行Web开发或API开发时,我们需要对接口进行测试,以确保其正常工作。Python提供了丰富的库和工具,可以帮助我们实现接口测试。本文将介绍如何使用Python实现一个命令行工具,用于发送GET请求并输出响应结果。 实现步骤 步骤一:安装requests库 在Python中,我们可以使用reques…

    python 2023年5月15日
    00
  • python opencv鼠标画点之cv2.drawMarker()函数

    当我们在进行图像处理时,需要在图像上标记一些点或者用不同的形状进行标注,这时候我们就需要使用OpenCV的绘图函数了。cv2.drawMarker()是opencv中的一个绘图函数,它可以在图像上绘制指定位置的Marker,即标记点。本篇文章将详细介绍cv2.drawMarker()函数的用法,以及如何实现在opencv中用鼠标画点。 drawMarker(…

    python 2023年6月6日
    00
  • 如何把python项目部署到linux服务器

    部署Python项目到Linux服务器的过程可以分成以下几个步骤: 准备Linux服务器环境: 在Linux服务器上安装Python和所需依赖包,并设置好相应的环境变量,以便后续能够正常运行项目。 准备Python项目文件: 将Python项目文件打包成压缩文件(通常使用.tar.gz或.zip格式),并上传到Linux服务器上。 解压项目文件: 在Linu…

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