0

我对 python 以及一般的编程都很陌生。我有两个文本文件。每一个都是一个列表,每个项目都在一个新行上。

我试图在每个列表中查找匹配的字符串,忽略大小写和某些标点符号(“,”,“-”,“\n”)。这是我到目前为止所拥有的:

基本上我需要翻译列表项并在 2 之间进行比较

List1.txt

Proper Title Here
A Title Here, crap
B Title Here-more crap
C Title Here
D Title Here
E Title Here

List2.txt

Proper Title Here
B Title Here-more crap
Q Title List item

代码:

import re 
list1_file = open("list1.txt", "r")
list2_file = open("list2.txt", "r")

list1 = list1_file.readlines()
list2 = list2_file.readlines()

for eachlistone in list1:
    list1nosp = eachlistone.replace(" ", "")

for eachlisttwo in list2:
    list2nosp = eachlisttwo.replace(" ", "")

应该输出:

Proper Title Here
B Title Here-more crap
4

1 回答 1

0

阅读第一个列表并删除不需要的标点符号

data = file1.read()
data = data.lower() #make it all lowercase
data = re.sub("[,-]","",data) #replace unwanted punctuation
list1= data.splitlines() 

对第二个列表做同样的事情

data = file2.read()
data = data.lower() #make it all lowercase
data = re.sub("[,-]","",data) #replace unwanted punctuation
list2= data.splitlines() 

然后只需打印两个列表的交集

print "\n".join(set(list1).intersection(list2))
于 2013-04-19T19:38:21.907 回答