Python 过滤True条件表达式

  • Post category:Python

Python 过滤 True 条件表达式

Python 语言提供了一种过滤列表的方法,即过滤所有满足某个条件的列表成员。这个方法使用的是一个 True 条件表达式,在 Python 中也称为“条件判断语句”。

使用方法

下面是使用 True 条件表达式进行列表过滤的基本语法:

new_list = [x for x in list if condition]

其中,new_list 表示过滤后得到的新列表,list 是需要被过滤的原始列表,condition 是判断条件,只有满足该条件的元素才被留下。

示例说明

示例 1

我们来看一个简单的示例:

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)

运行结果为:

[2, 4, 6]

上面的代码中,首先定义了一个包含 6 个整数的列表 numbers,然后使用列表解析式生成了一个新列表 even_numbers,这个新列表只包含 numbers 中满足条件 x % 2 == 0 的元素,即偶数。最后将 even_numbers 打印输出。

示例 2

我们再来看一个稍微复杂一点的示例:

words = ['apple', 'banana', 'cherry', 'date', 'eggplant']
long_words = [word for word in words if len(word) > 5]
print(long_words)

运行结果为:

['banana', 'cherry', 'eggplant']

上面的代码中,首先定义了一个包含 5 个字符串的列表 words,然后使用列表解析式生成了一个新列表 long_words,这个新列表只包含 words 中满足条件 len(word) > 5 的单词,即长度大于 5 的单词。最后将 long_words 打印输出。

注意事项

在列表解析式中,可以使用任何复杂的条件表达式,包括多重条件连接、内嵌循环等,但需要注意的是,条件表达式的复杂性可能会影响代码的可读性与性能,因此需要进行适当的折中取舍。