我有2个字符串列表,
例如:
listx = ["name","age","rank"]
input = ["name","age"]
Run Code Online (Sandbox Code Playgroud)
如何比较两个列表以检查是否listx包含"name"&"age"给出input?
前一段时间,我问了一个关于函数的问题elem 在这里,但我不认为答案是完全令人满意.我的问题是关于表达式:
any (`elem` [1, 2]) [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
我们知道elem是一个反引号,所以elem是一个中缀,我的解释是:
1 `elem` [1, 2] -- True
2 `elem` [1, 2] -- True
3 `elem` [1, 2] -- False
Run Code Online (Sandbox Code Playgroud)
最后它将返回,True因为它any不是all.这看起来不错,直到我看到类似的表达式isInfixOf:
any (isInfixOf [1, 2, 3]) [[1, 2, 3, 4], [1, 2]]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,似乎合理的解释似乎是:
isInfixOf [1, 2, 3] [1, 2, 3, 4] -- True
isInfixOf [1, 2, 3] [1, 2] -- False
Run Code Online (Sandbox Code Playgroud)
我想知道为什么他们从那时起就以这种不同的方式被使用了
any (elem [1, 2]) [1, 2, …Run Code Online (Sandbox Code Playgroud)