小编Cam*_*ler的帖子

查找两个列表中不包含公共字符的所有字符串对

我有两个字符串列表,希望在它们之间找到所有不包含公共字符的字符串对。例如

list1 = ['abc', 'cde']
list2 = ['aij', 'xyz', 'abc']

desired output = [('abc', 'xyz'), ('cde', 'aij'), ('cde', 'xyz')]
Run Code Online (Sandbox Code Playgroud)

我需要尽可能高效,因为我正在处理包含数百万个字符串的列表。目前,我的代码遵循以下一般模式:

list1 = ['abc', 'cde']
list2 = ['aij', 'xyz', 'abc']

desired output = [('abc', 'xyz'), ('cde', 'aij'), ('cde', 'xyz')]
Run Code Online (Sandbox Code Playgroud)

这是 O(n^2) 并且需要很多小时才能运行,有人对如何加快速度有一些建议吗?也许有一种方法可以利用正在排序的每个字符串中的字符?

非常感谢您提前!

python string algorithm comparison

5
推荐指数
1
解决办法
125
查看次数

标签 统计

algorithm ×1

comparison ×1

python ×1

string ×1