for ... in ...语句前面有一个变量和函数,后面有一个if条件判断【python】

简介: for ... in ...语句前面有一个变量和函数,后面有一个if条件判断【python】

  这几天看代码经常会看到这样的python语法,如下:

result = [number for number in numbers if number > 5]

  开始也没注意,认为只是一个for循环,好吧,其实就是一个for循环🎈🎈🎈但是对不知道其语法的同学来说还是很难办的🎃🎃🎃这里对上述语法进行分析。

  我们先来看这样的例子:

ls1 = ['1', '2', '3', '4']   #定义一个列表ls1
ls2 = [str(i) for i in ls1]       #设置一个for循环,并让最后的结果等于ls2
print(ls2)

  直接看输出的结果,看看和你想的是否一样,如下:

['1', '2', '3', '4']

这里给出解释:

ls2 = [str(i) for i in ls1] 
等价于<===>
ls2 = []
for i in ls1:
    ls2.append(str(i))

  看了上面的公式,大家应该就一目了然了。这里给出更一般的公式,即前面的str(i)可以为一个任意的函数或表达式

ls2 = [function(i) for i in ls1] 
等价于<===>
ls2 = []
for i in ls1:
    ls2.append(function(i))

例如,这里可以把str()变成len():

ls1 = ['12', '231', '3', '4']
ls2 = [len(i) for i in ls1]
print(ls2)

输出结果

[2, 3, 1, 1]   #输出结果为列表中每个元素的长度


更一般的,在for循环后还会有一个if语句:

ls1 = [1, 2, 3, 4]
ls2 = [i for i in ls1 if i > 2 ]   #相比之前多了if i > 2
print(ls2)

输出结果

[3, 4]

  明白了上面的内容,这里仅加了个if语句,应该是非常容易理解的了,即将输出结果大于2的存到ls2中。这里也给出一般性结论,如下:

ls2 = [function(i) for i in ls1  if condition(i)]  #相比之前多了个if条件语句
等价于<===>
ls2 = []
for i in ls1:
  if condition(i) = True
      ls2.append(function(i))
相关文章
|
3天前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
17天前
|
Python
python 函数
【9月更文挑战第4天】python 函数
36 5
|
22天前
|
Python
Python 中 help() 和 dir() 函数的用法
【8月更文挑战第29天】
19 5
|
23天前
|
Python
Python变量的作用域_参数类型_传递过程内存分析
理解Python中的变量作用域、参数类型和参数传递过程,对于编写高效和健壮的代码至关重要。正确的应用这些概念,有助于避免程序中的错误和内存泄漏。通过实践和经验积累,可以更好地理解Python的内存模型,并编写出更优质的代码。
14 2
|
22天前
|
Python
Python eval()函数的使用
Python eval()函数的使用
18 1
|
3天前
|
Unix 编译器 C语言
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ordinal_
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ord
10 0
|
17天前
|
数据采集 自然语言处理 数据挖掘
python查询汉字函数
简洁、高效、易懂的代码对于提高开发效率与项目质量至关重要,并且对于维持代码的可读性和可维护性也有着很大帮助。选择正确的工具和方法可以大幅提升处理中文数据的效率。在编写用户定义函数时,明确函数的功能与返回值类型对于函数的复用和调试也同样重要。当涉及到复杂的文本处理或数据分析时,不宜过分依赖单一的工具或方法,而应根据具体需求灵活选择和组合不同的技术手段。
22 0
WK
|
18天前
|
图计算 开发者 Python
python中的函数有哪些用途
Python中的函数具有多种用途,它们极大地增强了代码的复用性、可读性和可维护性。
WK
12 0
|
22天前
|
Python
|
22天前
|
Python
Python 中的 Lambda 函数是什么?
【8月更文挑战第29天】
9 0