Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >三元表达式 if for 构建List 进阶用法 python

三元表达式 if for 构建List 进阶用法 python

原创
作者头像
用户8832503
发布于 2022-03-02 05:59:07
发布于 2022-03-02 05:59:07
72500
代码可运行
举报
文章被收录于专栏:php编辑php编辑
运行总次数:0
代码可运行

1.简单的for...[if]...语句

Python中,for...[if]...语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以省略的。下面举几个简单的例子进行说明。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> a=[12,3,4,6,7,13,21]
>>> newList =[x forx in a]
>>> newList
[12,3,4,6,7,13,21]
>>> newList2 =[x forx in a if x%2==0]
>>> newList2
[12,4,6]

  省略if后,newList构建了一个与a具有相同元素的List。但是,newList和a是不同的List。执行b=a,b和newList是不同的。newList2是从a中选取满足x%2==0的元素组成的List。如果不使用for...[if]..语句,构建newList2需要下面的操作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> newList2=[]
>>>for x in a:
... if x%2==0:
...    newList2.append(x)
>>> newList2
[12,4,6]

显然,使用for...[if]...语句更简洁一些。

2.嵌套的for...[if]...语句

嵌套的for...[if]...语句可以从多个List中选择满足if条件的元素组成新的List。下面也举几个例子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>a=[12,3,4,6,7,13,21]
>>>b=['a','b','x']
>>>newList=[(x, y) for x in a for y in b]
>>>newList
[(12,'a'), (12,'b'), (12,'x'), (3,'a'), (3,'b'), (3,'x'), (4,'a'), (4,'b'), (4,'x'), (6,'a'), (6,'b'), (6,'x'), (7,'a'), (7,'b'), (7,'x'), (13,'a'), (13,'b'), (13,'x'), (21,'a'), (21,'b'), (21,'x')]
>>>newList2=[(x, y) for x in a for y in b if x%2==0 and y<'x']
>>>newList2
[(12,'a'), (12,'b'), (4,'a'), (4,'b'), (6,'a'), (6,'b')]

嵌套的for...[if]...语句与多重for语句相当,最前面的for语句是最外层的循环。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python 三元表达式 if for 构建List 进阶用法
Python中,for...[if]...语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以省略的。下面举几个简单的例子进行说明。
用户1214487
2018/07/31
8.4K0
初学python之解析式
Out[6]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
py3study
2020/01/06
3880
Python的循环、判断和各种表达式(长文系列第二篇)
流程控制是python语法很重要的一个分支,主要包括我们经常用到的判断语句、循环语句以及各种表达式,这也是上一篇文章没有介绍表达式的原因,在这篇文章中会更加系统全面的讲解这三方面的基础知识。
奶糖猫
2020/08/04
6150
Python的循环、判断和各种表达式(长文系列第二篇)
java三元表达式
Java三元表达式提供了一种基于条件的值选择机制,它允许开发者在一行代码中决定两个值中的哪一个应该被使用。这种表达式在某些情况下可以替代更为冗长的if-else语句,从而使代码更加简洁。
王也518
2024/04/19
2110
EasyC++25,三元表达式
if-else语句非常常用,但在进行一些简单逻辑判断的时候,会显得有些不太简洁。特别是在初始化的时候,比如我们有一个变量,某种情况下赋值成a,另外的情况下赋值成b。
TechFlow-承志
2022/08/26
3610
python递归-三元表达式-列表生成式-字典生成式-匿名函数-部分内置函数-04
应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点)   -->  l = [1, [2, [3, [4, [5, [6, [7, [8, [9, [10, [11, [12, [13, ]]]]]]]]]]]]]
suwanbin
2019/09/26
9950
python递归-三元表达式-列表生成式-字典生成式-匿名函数-部分内置函数-04
Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数
本章目录:     一、三元表达式、列表推导式、生成器表达式     二、递归调用和二分法     三、匿名函数     四、内置函数 ================================
Jetpropelledsnake21
2018/05/02
1.2K0
Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数
Java之四 表达式和流程控制
视频课堂:https://edu.csdn.net/course/play/8222
张哥编程
2024/12/18
1160
【Python基础之函数:二分法、三元表达式、生成/推导式、匿名函数、内置函数】
在广袤的Python编程领域中,掌握基础的函数概念是每位程序员的必修课。函数不仅仅是代码组织的方式,更是实现复杂逻辑、提高代码重用性的关键。本篇技术博客将深入探讨Python基础之函数的多个方面,从二分法、三元表达式、生成/推导式,到匿名函数和内置函数,我们将一一解析这些核心概念,带您逐步深入了解Python函数的强大之处。
老虎也淘气
2024/01/30
1730
Python学习系列之lambda表达式
lambda表达式是一行的函数。它们在其他语言中也被称为匿名函数。即,函数没有具体的名称,而用def创建的方法是有名称的。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。而且当使用函数作为参数的时候,lambda表达式非常有用,可以让代码简单,简洁。
全栈程序员站长
2022/11/02
6050
【Python】列表推导式 ( Python 列表推导式语法 | 列表推导式基础用法 | 列表推导式设置条件表达式用法 | 列表推导式嵌套用法 | 嵌套用法的等价代码分析 )
Python 中的 列表推导式 List Comprehension 用于 从 一个现有的列表 创建 一个新列表 , 使用一行代码 即可 实现 循环 或 条件逻辑 , 生成新的 列表 ;
韩曙亮
2024/08/17
2740
【Python】列表推导式 ( Python 列表推导式语法 | 列表推导式基础用法 | 列表推导式设置条件表达式用法 | 列表推导式嵌套用法 | 嵌套用法的等价代码分析 )
【Python学习笔记之三】lambda表达式用法小结
除了def语句之外,Python还提供了一种生成函数对象的表达式形式。由于它与LISP语言中的一个工具很相似,所以称为lambda。就像def一样,这个表达式创建了一个之后能够调用的函数,但是它返回了一个函数而不是将这个函数赋值给一个变量名。这也就是lambda有时叫做匿名函数的原因。实际上,他们常常以一种行内进行函数定义的形式使用,或者用作推迟执行一些代码。 lambda表达式 lambda的一般形式是关键字lambda,之后是一个或多个参数(与一个def头部内用括号括起来的参数列表及其相似),紧跟的是一
Angel_Kitty
2018/04/08
8510
重大线上事故!三元表达式引发的空指针问题
属实刺激,刚入职不久就遇到这种史诗级的线上 Bug,首页直接崩溃,陈年老代码爆雷,不管落到最后的底层原因是什么,我感觉主要还是上下游的链路太过复杂,治理难度比较大,牵一发而动全身。 知识回顾 三目运算
飞天小牛肉
2023/09/09
2480
重大线上事故!三元表达式引发的空指针问题
详解Lambda表达式
函数式编程思想概述:在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。做什么,而不是怎么做,我们真的希望创建一个匿名内部类对象吗?不。我们只是为了做这件事情而不得不创建一个对象。
框架师
2019/11/10
4840
Python基础学习(二)
函数是对程序逻辑进行结构化或是过程化的一种编程方法,其是组织好的,可重复使用的,用来实现单一,或者相同功能的代码段。
py3study
2020/01/17
7370
匿名函数、内置函数、面向过程编程
之前学到的函数都是有名函数,所谓匿名函数就是这类函数没有自己的函数名。他没有绑定名字,使用一次就被回收,加括号就可运行。
GH
2022/05/10
4340
灵活使用JS函数声明与函数表达式要弄清哪两点?
要弄清函数声明和函数表达式的区别,首先要明白在JS中声明和表达式的行为存在十分微妙而又十分重要的差别。
前端_AWhile
2019/08/29
6900
为什么 Python、Go 和 Rust 都不支持三元运算符?
在编程时,我们经常要作条件判断,并根据条件的结果选择执行不同的语句块。在许多编程语言中,最常见的写法是三元运算符,但是,Python 并不支持三元运算符,无独有偶,两个最热门的新兴语言 Go 和 Rust 也不支持!
Python猫
2023/04/03
4.4K2
Java8Lambda表达式
使用 Lambda 表达式可以使代码变的更加简洁紧凑。有了Lambda表达式,java将开启函数式编程的大门。
二十三年蝉
2018/08/01
1.1K0
Java8Lambda表达式
值得收藏!16段代码入门Python循环语句
导读:本文重点讲述for语句和while语句。for语句属于遍历循环,while语句属于当型循环。除了两个循环语句外,还介绍了break、continue与pass三个用于控制循环结构中的程序流向的语句。在此基础之上,还介绍了列表推导式,这是一种特殊的循环语句。
IT阅读排行榜
2019/09/17
2.9K0
值得收藏!16段代码入门Python循环语句
推荐阅读
相关推荐
python 三元表达式 if for 构建List 进阶用法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验