我是python的新手。我在django中有一个二维列表。现在我要检查给定的文本是否在列表中。但是它不起作用。这是我的代码:

newmessage = 'Bye'

stockWords = [
    ['hello', 'hi', 'hey', 'greetings'],
    ['Bye', 'Goodbye']
]


for i in range(0, len(stockWords)):
    if newmessage.lower() in stockWords[i]:
        return HttpResponse('Found')
    else:
        return HttpResponse('Not Found')


问题是它仅适用于列表的第一个元素,第二个不起作用。

我究竟做错了什么?有什么建议吗?

最佳答案

您可以尝试一下,生成平坦的低一级列表,然后在其中查找

import itertools

stockWords = [
    ['hello', 'hi', 'hey', 'greetings'],
    ['Bye', 'Goodbye']
]

stock = itertools.chain.from_iterable(stockWords)
stock_lower = [x.lower() for x in stock]
newmessage = 'Bye'
if newmessage.lower() in stock_lower:
    return HttpResponse('Found')
else:
    return HttpResponse('Not Found')

关于python - 如何在Python中将特定文本搜索到二维数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46601788/

10-12 21:58