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

yizhihongxing

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执行系统命令后获取返回值的几种方式集合

    下面是关于”python执行系统命令后获取返回值的几种方式集合”的完整攻略。 1. subprocess模块的使用 subprocess 模块是 Python 的一个标准库,用于在 Python 脚本中执行外部程序或命令。 在执行完命令之后,可以获取命令执行的返回值,代码如下: import subprocess # 执行命令 p = subprocess.…

    python 2023年5月14日
    00
  • python 实现网上商城,转账,存取款等功能的信用卡系统

    Python 实现网上商城、转账、存取款等功能的信用卡系统攻略 1. 搭建基础环境 1.1 安装 Python 环境 Python 是一门强大且易于使用的编程语言,适合构建各种应用程序。对于本项任务,我们需要安装 Python 环境。 可以从官网 https://www.python.org/downloads/ 下载最新的 Python 版本,然后按照提示…

    python 2023年6月2日
    00
  • Python 读取用户指令和格式化打印实现解析

    下面是关于Python读取用户指令和格式化打印实现解析的完整攻略。 1. 读取用户指令 1.1 命令行参数 Python有一个内置的sys模块,可以用来处理命令行参数。sys.argv列表是由命令行参数组成的列表。列表的第一个元素是程序本身的名称,之后的元素就是传递给程序的参数。 示例: import sys print(‘脚本名:’, sys.argv[0…

    python 2023年6月5日
    00
  • 如何使用Python进行自然语言处理?

    Python是一门流行的编程语言,在自然语言处理(NLP)领域有很大的应用。下面是使用Python进行自然语言处理的攻略: 准备工作 在使用Python进行自然语言处理前,需要先安装相应的依赖库,如nltk、spacy、gensim等。使用pip命令安装方式如下: pip install nltk pip install spacy pip install …

    python 2023年4月19日
    00
  • Python中如何替换字典中的值

    当我们需要改变一个字典中某个键对应的值的时候,可以使用Python中的字典操作来实现。具体步骤如下: 步骤 确定要更改的键,假设它叫做key。 通过字典操作符“[]”访问键的值,并将需要替换的值赋予该键。如:dict[key] = new_value。 具体的实现代码如下: # 创建一个字典 dict1 = {‘a’: 10, ‘b’: 20, ‘c’: 3…

    python 2023年5月13日
    00
  • 如何从 VS Code 中的本地 python 包导入?

    【问题标题】:How to import from local python packages in VS Code?如何从 VS Code 中的本地 python 包导入? 【发布时间】:2023-04-02 13:05:02 【问题描述】: 我的项目结构是这样的: – my_pkg setup.py README.md – my_pkg __init__…

    Python开发 2023年4月8日
    00
  • PyTorch策略梯度算法详情

    PyTorch策略梯度算法详情 PyTorch是一个流行的深度学习框架,它提供了许多用于实现强化学习算法的工具。其中,策略梯度算法是一种常用强化学习算法,它可以用于解决多种实际问题。在本文中,我们将介绍PyTorch中策略梯度算法的基本原理,并提供两个示例,以说明如何使用PyTorch实现策略梯度算法。 策略梯度算法的基本原理 策略梯度算法是一种基于梯度的强…

    python 2023年5月14日
    00
  • Python timer定时器两种常用方法解析

    Python timer定时器两种常用方法解析 当我们需要在代码中设置定期执行某个任务时,Python内置的timer定时器可以非常方便地帮助我们完成。在本文中,我们将详细讲解Python timer定时器的两种常用方法,并且提供示例说明。 方法一:使用Threading模块 Threading模块是Python中用于多线程编程的核心模块之一。我们可以通过该…

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