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 matplotlib实现图表主题变换示例详解

    下面是详细讲解“Python matplotlib实现图表主题变换示例详解”的完整攻略。 标题 Python matplotlib实现图表主题变换示例详解 简介 matplotlib是Python中常用的数据可视化库,通过matplotlib可以绘制出各种各样的图表。在matplotlib中,有许多可用的主题可以使用,它们可以改变整体图表的样式。本文将会介绍…

    python 2023年5月18日
    00
  • Python基于BeautifulSoup爬取京东商品信息

    Python基于BeautifulSoup爬取京东商品信息 在本文中,我们将介绍如何使用Python和BeautifulSoup库爬取京东商品信息。我们将使用Python的requests库发送HTTP请求,然后使用BeautifulSoup库解析HTML响应。最后,我们将提取商品信息并将其保存到CSV文件中。 安装依赖库 在使用Python工具之前,我们需…

    python 2023年5月14日
    00
  • 深度解析Python线程和进程

    深度解析Python线程和进程 Python是一门高级编程语言,它支持多线程和多进程编程。但是线程与进程是操作系统层面的概念,因此在Python中,我们使用操作系统提供的多线程/多进程API来实现多线程/多进程编程。 本文将深度解析Python中的线程和进程,介绍它们的定义、工作原理以及使用方法。 线程 定义 线程是操作系统能够进行运算调度的最小单位,它被包…

    python 2023年5月19日
    00
  • Python中pyautogui库的使用方法汇总

    Python中pyautogui库的使用方法汇总 pyautogui是Python中一个非常实用的自动化工具库,能够模拟鼠标和键盘操作,实现自动化的任务流程。本篇文章将对pyautogui库的使用方法进行详细讲解,包含以下内容: 安装pyautogui库 基本操作:鼠标移动、点击、拖拽、键盘输入等 屏幕控制:屏幕截图、获取像素RGB值、查找图像位置等 使用案…

    python 2023年5月19日
    00
  • Python的五个标准数据类型你认识几个

    Python是一门高级编程语言,拥有多种数据类型,其中包括五个标准数据类型,分别为数字(Number)、字符串(String)、列表(List)、元组(Tuple)和字典(Dictionary)。 以下是对Python的五个标准数据类型进行详细讲解的攻略: 数字(Number) 在Python中数字(Number)数据类型包括整数(int)、浮点数(floa…

    python 2023年5月14日
    00
  • python json.loads兼容单引号数据的方法

    下面是完整的攻略: 问题描述 JSON(JavaScript Object Notation)是一种常用的数据格式,常用来在前后端之间传递数据,对于Python来说,json.loads可以把JSON格式的字符串转化为Python对象。但是,JSON格式字符串要求使用双引号,如果JSON格式字符串中使用了单引号,则json.loads会抛出异常。那么,如何在…

    python 2023年6月3日
    00
  • 举例讲解如何在Python编程中进行迭代和遍历

    下面是在Python编程中进行迭代和遍历的完整攻略。 什么是迭代和遍历 在Python编程中,迭代和遍历通常用来逐个访问数据结构中的元素。通常用于循环访问列表、元组、字典、集合等数据结构。 迭代(Iteration)是Python中重复执行某一对象或组代码的过程。 遍历(Traverse)也是Python中重复执行某一对象或组代码的过程,但它经常用来访问数据…

    python 2023年5月14日
    00
  • Python变量及数据类型用法原理汇总

    Python变量及数据类型用法原理汇总 Python中的变量是用来存储和引用值的标识符。在Python中声明变量时,无需声明其类型,因为Python是一种动态语言。Python中的值可以分为几种不同的数据类型。 数据类型 Python中有以下数据类型: 数字:整数,浮点数,复数 字符串:有序的字符序列 列表:有序可变的元素集合 元组:有序不可变的元素集合 字…

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