将列表 A 中的所有字符串匹配到列表 B 中的每个字符串
Match all strings from list A to every strings from list B
我正在寻求编写脚本(最好是 python)的帮助,以比较两个列表。任务:
我在文件 a.txt 中有文件名列表:
示例:
ABC
BCD
DEF
EDC
和列表中的字符串列表 b.txt:
A
B
C
D
E
F
G
我想要脚本做的是“比较”这两个列表并将结果输出到文件 result.txt,在那里我可以让列表 a 中的每个字符串紧挨着列表 b.txt 的所有匹配项所以,例如,result.txt 对于上面的列表看起来像:
ABC|A,B,C
BCD|B,C,D
DEF|D,E,F
EDC|E,D,C
我可以补充一下,两个列表都很大,列表 a 有 60k 行,列表 b 几 k。
非常感谢您的帮助!谢谢
从数据文件
构建列表A_list
、B_list
循环遍历第一个列表 (A_list
)
提供的文件名 (a
) 写入结果文件
- 构建第二个列表 (
B_list
) 中 a
元素 中的元素 (b
) 的 matches
列表
- 如果不需要不匹配的文件名,可选择跳过循环结尾
- 写入文件名加入匹配项的结果行
with open("a.txt", 'r') as f:
A_list = f.read().splitlines()
with open("b.txt", 'r') as f:
B_list = f.read().splitlines()
with open('result.txt', 'w') as f:
for a in A_list:
matches = [b for b in B_list if b in a]
if not matches: continue # optional
f.write(f"{a}|{','.join(matches)}\n")
我正在寻求编写脚本(最好是 python)的帮助,以比较两个列表。任务:
我在文件 a.txt 中有文件名列表: 示例:
ABC
BCD
DEF
EDC
和列表中的字符串列表 b.txt:
A
B
C
D
E
F
G
我想要脚本做的是“比较”这两个列表并将结果输出到文件 result.txt,在那里我可以让列表 a 中的每个字符串紧挨着列表 b.txt 的所有匹配项所以,例如,result.txt 对于上面的列表看起来像:
ABC|A,B,C
BCD|B,C,D
DEF|D,E,F
EDC|E,D,C
我可以补充一下,两个列表都很大,列表 a 有 60k 行,列表 b 几 k。
非常感谢您的帮助!谢谢
从数据文件
构建列表A_list
、B_list
循环遍历第一个列表 (
提供的文件名 (A_list
)a
) 写入结果文件- 构建第二个列表 (
B_list
) 中a
元素 中的元素 ( - 如果不需要不匹配的文件名,可选择跳过循环结尾
- 写入文件名加入匹配项的结果行
b
) 的matches
列表- 构建第二个列表 (
with open("a.txt", 'r') as f:
A_list = f.read().splitlines()
with open("b.txt", 'r') as f:
B_list = f.read().splitlines()
with open('result.txt', 'w') as f:
for a in A_list:
matches = [b for b in B_list if b in a]
if not matches: continue # optional
f.write(f"{a}|{','.join(matches)}\n")