我对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
答案 0 :(得分: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))