首页 > 解决方案 > 在 Python 中检查每个列表元素是否与特定字符串匹配的简单方法

问题描述

我在 Python 中有以下列表:

my_list = ["yes", "yes", "no", "yes", "no", "yes"]

我想返回一个逻辑值列表,True以防 my_list 中的相应列表元素等于“yes”,False如果 my_list 中的相应列表元素等于“no”。

期望的输出:

my_list_logical = [True, True, False, True, False, True]

我通常在 R 中编程,在 R 中,这可以通过以下代码轻松完成:

my_list == "yes"

我在这个线程中找到了一个 Python 解决方案。然而,这个线程的解决方案非常复杂,我不敢相信这在 Python 中比在 R 中复杂得多。

有没有一种简单的方法可以根据我的输入向量返回逻辑列表?

标签: pythonlistlogical-operators

解决方案


您可以使用列表理解:

my_list = ["yes", "yes", "no", "yes", "no", "yes"]

logical = [item=='yes' for item in my_list]

输出

[True, True, False, True, False, True]

或者,您甚至可以使用地图:

logical = list(map(lambda x: x=='yes', my_list))

推荐阅读