我有两个名单,A和B.
A = ["string1", "string2"]
B = ["A string1 W", "B string4 Q", "HF string2 W]
我想找到一种比较两个列表并从B中获取包含A字符串的元素的方法,并将这些元素放在另一个文本文件列表中。上面的例子将产生:
C = ["A string1 W", "HF string2 W"]
感谢您提供任何帮助!
注意:问题最初涉及从文本文件中读取行,但由于该部分很简单,我选择将其删除。
答案 0 :(得分:1)
这很简单,坦率地说,一些额外的谷歌搜索应该让你在那里。但是你可以使用
这么简洁# read lines as a list
file_1_lines = open('/path/to/file1').readlines()
file_2_lines = open('/path/to/file2').readlines()
# get the containing lines with a list comp
file_2_lines_containing_1 = [file_2_lines[i] for i in range(len(file_2_lines)) if file_1_lines[i] in file_2_lines[i]]
# save
with open('/path/to/newfile') as f:
json.dump(file_2_lines_containing_1,f)
如果您希望更简单的for循环实现,请注释。