gpt4 book ai didi

python - 用 Python 做 "if string a contains any letter in string b"

转载 作者:太空宇宙 更新时间:2023-11-04 06:46:15 25 4
gpt4 key购买 nike

我一直在用 Python 编程,但是我能想到的所有方法都非常长,我觉得一定有更好的方法。

有没有一种快速的方法(可能是 1 行或 2 行?):

if (stringA.containsAnyLetterIn(stringB)):
do stuff

比如我要

stringA = 'abcdefg'
stringB = 'hijklmn'
print stringA.containsAnyLetterIn(stringB)

返回False,我想要

stringA = 'dog'
stringB = 'abcdefg'
print stringA.containsAnyLetterIn(stringB)

返回 True(因为 dg 在 stringB 中)。

最佳答案

使用any函数和 in 运算符,像这样

any(char in stringB for char in stringA)

演示:

>>> stringA, stringB = 'abcdefg', 'hijklmn'
>>> any(char in stringB for char in stringA)
False
>>> stringA, stringB = 'dog', 'abcdefg'
>>> any(char in stringB for char in stringA)
True

如果您想要一个高效的解决方案,将stringA 转换为一个集合,然后检查该集合和stringB 是否为disjoint或不,像这样

>>> stringA, stringB = 'abcdefg', 'hijklmn'
>>> not set(stringA).isdisjoint(stringB)
False
>>> stringA, stringB = 'dog', 'abcdefg'
>>> not set(stringA).isdisjoint(stringB)
True

关于python - 用 Python 做 "if string a contains any letter in string b",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29203890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com