gpt4 book ai didi

Python 使用不区分大小写的方式搜索集合

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:45 26 4
gpt4 key购买 nike

我有 3 套和一个字典。我的集合看起来像这样:

set1 = set(['Bob', 'Jim', 'RALPH'])
set2 = set(['Jill', 'Nadeen', 'WaterBottle'])
set3 = set(['ThisIsOne', 'ThisIsTwo'])
all_names = {'first_one': set1,
'second_one': set2,
'third_one': set3,
'all':set1 | set2 | set3}

#I can make it work if I do this:
r = re.search(input, "','".join(all_names['all'])
if r:
name = all_names[r.group()]

我的用户将传入前三组名称中的一个,或者 all_names 中的键之一。用户传入的名称不区分大小写,但我需要返回相应的名称,因为它们在集合中是大写的。如果他们传入 key ,我获取名称列表没有问题,但是有没有一种好方法,如果用户传入“nadeen”,我可以在 all_names['all'] 中轻松(高效)找到它?

但是,我的老板认为这不是最好的方法。有没有办法对此进行理解?还有其他想法吗?

最佳答案

嗯,相当天真的方法是遍历 all_names['all'] 并进行不区分大小写的检查,如下所示:

input = input.lower()
result = [item for item in all_names['all'] if item.lower() == input]

或者,另一种方法是在包含集合中小写项目的列表中搜索:

input.lower() in map(lambda x: x.lower(), all_names['all'])

关于Python 使用不区分大小写的方式搜索集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17190214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com