我正在尝试在我拥有的列表中搜索特定值,如果列表中存在任何这些值,我想执行不同的操作。
目前这是我正在使用的列表:
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/