Python - 在列表中搜索多个值并执行多个操作

标签 python python-3.x list search

我正在尝试在我拥有的列表中搜索特定值,如果列表中存在任何这些值,我想执行不同的操作。

目前这是我正在使用的列表:

print(categories)
['Creams', 'Bath', 'Personal Care']

我想做的是在这个类别列表中搜索一些不同的值。为此,我将 categories 转换为一个集合,并使用 if 语句单独搜索每个值。

例如:

c = set(categories)
if "Conditioners" in c:
     print("1")
if "Bath" in c: 
     print("2")
if "Shaving Gels" in c:
     print("3")

哪个返回:

2

理想情况下,我想做的是将我的标准放入列表或其他一些相关数据结构中,如果该值以高效方式存在于 categories 中,则让它执行该特定操作。

最佳答案

您可以将函数存储在字典中,其中值是所需的函数。这样,您就可以通过按键轻松访问它们,并且可以正常遍历类别:

categories = ['Creams', 'Bath', 'Personal Care']

my_dict = {
    'Conditioners': lambda: print(1),
    'Bath': lambda: print(2),
    'Shaving Gels': lambda: print(3)
}


for category in categories:
    fn = my_dict.get(category, lambda: None)
    fn()

输出:

2

关于Python - 在列表中搜索多个值并执行多个操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51655747/

相关文章:

python - 如何以 block 的形式旋转现有数据框?

python - 哥德巴赫 Python 输出

python - 如何在模拟对象中 stub 方法?

python - 将列表映射到字典

javascript - jsp 格式化并保留逗号

c# - 在特定元素之前将元素添加到列表

python - 如何更新 zip 文件中的一个文件?

python - 如何在 Django 中发布请求后获取表单的名称?

python-3.x - 在自定义包中安装 pip 时,如何修复 install_requires 列表的 'Could not find a version that satisfies the requirement'?

python - 从 input() 中提取参数