首页 > 编程语言 >python推导式

python推导式

时间:2024-07-15 20:54:22浏览次数:13  
标签:迭代 推导 python 列表 print 元组 表达式

1.格式
第一部分:表达式;
第二部分:循环;
第三部分:条件(可有可无)。

 2.列表推导式 

结果是列表;格式:[  ]

        Python列表推导式是一种简洁的语法,用于从现有的列表或其他可迭代对象中创建新的列表。它的语法有: [expression for item in iterable if condition] 其中,expression是一个处理item的表达式,item是可迭代对象中的每一个元素,iterable是一个可迭代对象,condition是一个可选的条件;作用是根据条件生成一个新的列表。

# 1 列表推导式:生成一个列表
l5 = [1, 2, 3, 4, 5, 6]

# 第一部分 是表达式语句
# 第二部分 是for循环
# 第三部分 条件(可选) 只有满足条件 才将表达式放入列表
import random

l2 = [i for i in range(17)]
print(l2)

l0 = [i + i * 2 for i in range(10)]
print(l0)

l1 = [random.randint(10, 20) + i for i in range(10) if i % 2 == 0]
print(l1)

 

3.元组推导式

结果是生成器:Generator;格式:()

        元组推导式(tuple comprehension)是Python中一种创建元组的快速方式。与列表推导式类似,元组推导式允许使用一行代码来创建一个元组,无需使用循环或条件语句。元组推导式的语法和列表推导式类似,只是用圆括号()代替了方括号[]。元组推导式返回的结果是一个元组对象,不可变且不可修改。

# 元组推导式:得到一个生成器  可以通过遍历获取生成器
# Iterable(迭代器) Generator(生成器:是特殊的迭代器)
g0 = (i for i in range(10))
print(g0, type(g0))
for e in g0:
    print(e)

g1 = (i ** 2 for i in range(10) if i % 2 == 1)
print(g1, type(g1))
for e in g1:
    print(e)

4.字典推导式

结果是字典;格式:{},要求第一部分表达式需要时键值对格式。

        Python字典推导式是一种快速创建字典的方法。它可以使用简洁的语法来快速生成字典的键值对。字典推导式的语法形式有:{key_expression: value_expression for item in iterable} 其中,key_expression是生成字典键的表达式,value_expression是生成字典值的表达式,item是迭代的元素,iterable是可迭代的对象(如列表、元组、集合等)。

# 字典推导式
# 第一部分是关于键和值格式的表达式
# 第二部分是循环
# 第三部分是条件
d0 = {f"key{i}: value{i}" for i in range(10) if i % 2}
print(d0, type(d0))

5.集合推导式

结果是集合;格式:{},要求第一部分是元素表达式。

        Python中的集合推导式是一种简洁的语法形式,用于快速创建集合。集合推导式的语法形式有:{expression for item in iterable if condition} 其中,expression表示需要推导的表达式,item表示可迭代对象中的元素,在表达式中可以使用item进行运算或操作,iterable表示可迭代对象(例如列表、元组、字典等),condition表示一个可选的条件,满足条件的元素才会参与到推导过程中。

        集合推导式会自动去除重复的元素,因为集合是无序且不可重复的数据结构。如果需要保留重复元素,可以使用列表推导式。

# 集合推导式
# 第一部分元素
# 第二部分循环
# 第三部分条件
s0 = {i for i in range(10) if i % 2}
print(s0, type(s0))

s1 = [c * 10 for c in "hello"]
print(s1, type(s1))

 

标签:迭代,推导,python,列表,print,元组,表达式
From: https://blog.csdn.net/2401_86120676/article/details/140448283

相关文章

  • Python小工具—批量移除照片背景
    先上代码。fromrembgimportremoveimportcv2importosdeflist_image_files(directory):#支持的图片文件扩展名列表image_extensions=['.jpg','.jpeg','.png','.gif','.bmp','.tiff']#存储找到的图片文件......
  • python中字典的用法
    1.字典的定义在Python中,字典(Dictionary)是一种可变的容器模型,它可以存储任意类型对象,如整数、浮点数、字符串、列表、元组等。字典的每个元素都是一个键值对(key-valuepair)。键(key)用于唯一标识一个元素,而值(value)则是与该键相关联的数据。字典是无序的,即元素的存储顺序与它们的......
  • asyncio/trio fastdfs python client
    Codets.py#!/usr/bin/envpython"""FastDFS并发测试脚本Usage::$python<me>.py200--show"""importfunctoolsimportitertoolsimportjsonimportosimportpickleimportsysimporttimefrompathlibimportPathfr......
  • Python 安装使用图片裁剪脚本
    Sure!Here’saquickguidetoinstallingPythononWindows11:###Step1:DownloadPython1.GototheofficialPythonwebsite:[python.org](https://www.python.org/downloads/)2.Clickthe"DownloadPython"button.Thiswilldownloadthelatestv......
  • python网络编程---TCP协议进行
        在这里简单实现一个TCP服务器,用于监听来自客户端的连接,接收客户端发送的消息,并向客户端发送响应消息。下面我将详细解释这个代码的工作原理和各个部分的作用。    首先建立一个客户端(client),一个服务端(server),在客户端进行连接到运行在本地机器(IP地址为127.......
  • python中的re模块--正则表达式
    正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本  re模块作用通过使用正则表达式,可以:测试字符串内的模式。——例如,可以测试输入字符串,以查......
  • Python从0到100(三十九):数据提取之正则(文末免费送书)
    前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知......
  • Python从0到100(四十):Web开发简介-从前端到后端(文末免费送书)
    前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知......
  • Python学习—集合篇 详细讲解,简单易掌握
    一、集合的定义集合(set)是一种无序且不包含重复元素的数据结构,集合可以使用大括号 {} 来创建。创建集合的两种方式:第一种:使用{}括号s0={1,2,3,4,5}print(s0,type(s0))#结果:{1,2,3,4,5}<class'set'>第二种:用set()函数来创建集合s1=set([1,2,3,4,......
  • Python学习代码示例合集
    PythonDemo示例合集PyDemo:Python学习代码示例合集介绍欢迎来到PyDemo,这是一个专为Python学习者设计的代码示例合集。无论你是编程新手还是经验丰富的开发者,PyDemo都将为你提供有用的代码片段,帮助你快速掌握Python编程的各种技巧和应用场景。项目背景Python作......