python - 在Python中,如何检查一个字符串以查看其中是否包含另一个字符串的任何组合?

标签 python string algorithm parsing nodes

我有 170 000 个单词列表,我正在编写一个算法,使用每个单词的图表来查看可能的最长单词链;

词链是一个单词列表,其中第 i 个单词是第 (i − 1) 个单词,带有一个额外字符,其他字符以任意方式排列

A -> AN -> CAN -> CANE

现在我已经按字母顺序列出了所有单词,例如 CAT = ACT

我说当字符串 2 包含字符串 1 以及另一个字符时添加一条边

但是在这种情况下

A-> AT -> ACT

AT 和 ACT 之间的边缘未绘制,因为 C 分割了 A 和 T,而我的 if 语句仅在找到“AT”时才有效。

如何告诉 python 搜索字符串以使字符的顺序无关紧要?

最佳答案

您可以创建一组两个字符串:

set1 = set(string1)
set2 = set(string2)

然后查看string1是否包含string2中的所有内容

set1.issubset(set2) # => returns True if set2 contains everything from set1

关于python - 在Python中,如何检查一个字符串以查看其中是否包含另一个字符串的任何组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33115405/

相关文章:

python - python中没有重复字符的最长子串

python函数在重复调用时返回不同的结果

python - 如何在 Windows 中安装没有 easy_install 的 .egg 文件?

python - Pandas 在不创建新列的情况下 append 数据框

python - 识别仅由数字组成的字符串

c - 用 C 编写的工作非递归 floodfill 算法?

algorithm - 哪种哈希算法适合图像局部描述符?

c# - 字符串实习

c - 逐行读取文本文件中的字符串并将其存储在链表中

javascript - 如何使用数组在 JS 中创建队列(FIFO)?