【发布时间】:2018-08-13 10:18:28
【问题描述】:
我相信我可以说...
for (int i = 0; i < noun[].size(); i++)
{
if ( word[0] == noun[i])
{ //do something }
}
问题是,我需要用很多词多次这样做。有时我想一次说很多话。就像if (words[0] == noun[/*any*/] && words[1] == verb [/*any*/]) 有什么办法可以告诉它检查数组/向量中的每个元素吗?
或者也许有一些类似于数组的容器可以快速查找?
我只能在 python 中找到一种方法,但我从来没有用 python 编程,所以我想用 C++ 来做。
在python中我发现了这样的东西:
a = [1,2,3,4,5]
b = 4
if b in a:
print("True!")
else:
print("False")
【问题讨论】:
-
我相信你可以使用一些algorithms 来做到这一点。显然这些在内部会有某种循环,但你不必自己做。
-
noun[].size()noun应该是什么? -
@KillzoneKid 所以名词可以是名词列表中的任何名词,例如Alice、Thomas、Mark 等。我的词向量将由构成用户输入的字符串的词组成。
-
我相信您正在寻找
std::find。当然,这将循环通过向量,就像 python 示例所做的那样,只是你不必编写循环代码