我试图通过python摸索,并学习做事的最佳方法。我有一个字符串要与另一个字符串进行比较,看是否有匹配项:
if paid[j].find(d)>=0:
#BLAH BLAH
如果’d’是一个数组,那么查看pay [j]中包含的字符串是否与’d’中的任何值匹配的最有效方法是什么?
如果您只想知道中是否包含的 任何 项,就像您直白地说:d``paid[j]
if any(x in paid[j] for x in d): ...
如果您还想知道中包含 哪些 项目:d``paid[j]
contained = [x for x in d if x in paid[j]]
contained
会如果没有的项目一个空的列表d
中包含的paid[j]
。
如果您想要的是另一种选择,那么还有其他解决方案,例如,将的 第一 项d
包含在中paid[j]
(并且None
如果没有这样的项):
firstone = next((x for x in d if x in paid[j]), None)
顺便说一句,由于在注释中您提到了句子和单词,也许您不一定要进行 字符串 检查(这是我所有示例所要做的),因为它们无法考虑单词边界-
例如,每个示例都会说’cat’是in
‘obfuscate’(因为’obfuscate’包含’cat’ 作为子字符串
)。为了允许检查单词边界,而不是简单的子字符串检查,您可以有效地使用正则表达式…但是我建议您就此提出一个单独的问题,如果这是您需要的,那么此答案中的所有代码段都取决于根据您的确切要求,如果将谓词更改x in paid[j]
为更复杂的谓词(例如,somere.search(paid[j])
针对适当的RE对象),则将同样有效somere
。(Python2.6或更高版本-在2.5及更低版本中略有不同)。
如果您的意图又是另外一回事,例如获得满足您约束条件的项中的一个或所有
索引d
,那么对于这些不同的问题也有简单的解决方案…但是,如果您实际需要的内容与实际情况相去甚远你所说的,我最好不要再猜测了,希望你能澄清;-)。
我已经声明了一个实现可比较接口和compareTo方法的类,使用employee ID比较两个员工。创建的类对象插入数组列表。现在,当我使用collections.sort(arrayList对象)时,它工作得很好。我对collective和comparator接口之间的比较有何不同感到困惑。我想知道如何在纯粹由数字组成的employee id字符串和其他字符串employee id之间进行比较,
问题内容: 我注意到我正在编写的Python脚本表现得很松散,并将其追溯到无限循环,其中循环条件为。在调试器中运行它,结果发现那条线实际上是。当我将其更改为!=’‘而不是时,它工作正常。 另外,即使比较或值,通常还是最好还是默认使用吗?我一直喜欢使用,因为我发现它在美学上更令人愉悦和pythonic(这就是我陷入这个陷阱的方式…),但是我想知道是否打算仅在你关心找到两个对象时才保留它?具有相同ID
问题内容: 程序从经过排序的字符串的txt文件中读取,并使用顺序的,迭代的二进制和递归的二进制存储在数组中,然后在数组中搜索位置以及查找该单词所需的迭代次数。当我尝试将数组中的单词与用户输入的单词进行比较时出现错误。不知道为什么。2)希望有人可以解释迭代二进制和递归二进制之间的区别。3)为什么需要这样做… SearchString si = new SearchString(); 程序在下面… }
问题内容: 我听说散列(即将字符串或对象转换为数字)用于字符串等,因为比较数字比字符串更容易。如果为真,这是什么原因? 问题答案: 不一定是这种情况,但大多数时候可能是这样。 请考虑以下情况: 我想比较字符串“ apples”和“ oranges”。如果我只想确定“ apples” ==“ oranges”,我只需要比较每个字符串的第一个字符:’a’!=’o’=>“ apples”!=“ oran
问题内容: 我正在尝试将来自HTML文本字段的值与整数进行比较。它按预期工作。条件是- 文本字段的值在哪里。只要值介于1-999(含)之间,条件就会返回,否则返回。问题是,来自文本字段的值是字符串类型,我正在将其与整数类型进行比较。可以进行这种比较,还是应该使用parseInt()转换为整数? 问题答案: 因为JavaScript 以允许它们将操作数强制转换为不同类型的方式定义和(以及其他几个运算
如何比较两个列表是否相等验证数据来自Excel工作表。我需要验证两个列表是否相同,并且列表中没有附加元素或缺少元素。我不需要对列表进行排序。打印输出CAGID Excel data=CAGID Web列表