检查项目是否在数组/lis中

2024-04-18 07:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个字符串数组,我可以在不执行for循环的情况下检查一个字符串是否在数组中吗?具体来说,我正在寻找一种在if语句中执行此操作的方法,因此如下所示:

if [check that item is in array]:

Tags: 方法字符串inforifthatischeck
3条回答

当你说“数组”的时候,我也会假设你的意思是“列表”,斯文·马纳奇的解决方案是好的。如果要对列表进行重复检查,则可能需要将其转换为set或frozenset,这样每次检查的速度会更快。假设您的str列表名为subjects

subject_set = frozenset(subjects)
if query in subject_set:
    # whatever

假设你说的是“列表”,你可以

if item in my_list:
    # whatever

这适用于任何集合,而不仅仅是列表。对于字典,它检查给定的键是否存在于字典中。

使用lambda函数。

假设你有一个数组:

nums = [0,1,5]

检查5是否在nums

(len(filter (lambda x : x == 5, nums)) > 0)

这个解决方案更可靠。现在可以检查数组中是否有满足特定条件的数字。

例如,检查nums中是否存在大于或等于5的数字:

(len(filter (lambda x : x >= 5, nums)) > 0)

相关问题 更多 >