我会使用专为快速查找而设计的数据结构。据推测,您的任何列表都不会包含冲突的元素。在这种情况下,elements 是字典键的完美候选者。这就需要相对神秘的方法dict.fromkeys:
x = [...]
y = [...]
mapping = {}
mapping.update(dict.fromkeys(x, 'x'))
mapping.update(dict.fromkeys(y, 'y'))
现在你有了一本字典,它会立即告诉你一个单词的所属位置:
word = input().casefold()
print(mapping.get(word, 'Not Found!'))
我可能会把它放到一个类中来管理字典、列表和查找。您可以通过这种方式以任何名称注册列表:
class WordLists(dict):
def __init__(self):
super ().__init__()
def register_list(name, data):
self.update(dict.fromkeys(data, name))
def __getitem__(self, word):
return super().get(word.casefold(), 'Not Found')
wl = WordList()
wl.register('x', x)
wl.register('y', y)
print(wl[input()])
您需要记住的部分内容是 python 变量可以绑定到任意数量的名称。这就是为什么我建议明确说明要为每个列表返回的名称。它根本不必与变量的名称相关。