exp*_*_v2 4 python search list python-3.x
我正在尝试搜索具有特定值的列表,如果列表中存在任何这些值,我想执行不同的操作.
目前这是我正在使用的列表:
print(categories)
['Creams', 'Bath', 'Personal Care']
Run Code Online (Sandbox Code Playgroud)
我想要做的是搜索此类别列表以获取一些不同的值.为此,我已经转换categories为一个集合,并使用if语句单独搜索每个值.
例如:
c = set(categories)
if "Conditioners" in c:
print("1")
if "Bath" in c:
print("2")
if "Shaving Gels" in c:
print("3")
Run Code Online (Sandbox Code Playgroud)
哪个回报:
2
Run Code Online (Sandbox Code Playgroud)
我理想的做法是将我的标准放入列表或其他相关数据结构中,如果该值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()
Run Code Online (Sandbox Code Playgroud)
输出:
2
Run Code Online (Sandbox Code Playgroud)