我有三個文本文件之間的共同名單:查找文件
的fileA:
13 abc
123 def
234 ghi
1234 jkl
12 mno
FILEB:
12 abc
12 def
34 qwe
43 rty
45 mno
fileC:
12 abc
34 sdg
43 yui
54 poi
54 def
我想看看第二列中的所有值都是matc在文件之間切換。如果第二列已經排序,則以下代碼有效。但如果第二列未排序,我如何排序第二列並比較文件?
fileA = open("A.txt",'r')
fileB = open("B.txt",'r')
fileC = open("C.txt",'r')
listA1 = []
for line1 in fileA:
listA = line1.split('\t')
listA1.append(listA)
listB1 = []
for line1 in fileB:
listB = line1.split('\t')
listB1.append(listB)
listC1 = []
for line1 in fileC:
listC = line1.split('\t')
listC1.append(listC)
for key1 in listA1:
for key2 in listB1:
for key3 in listC1:
if key1[1] == key2[1] and key2[1] == key3[1] and key3[1] == key1[1]:
print "Common between three files:",key1[1]
print "Common between file1 and file2 files:"
for key1 in listA1:
for key2 in listB1:
if key1[1] == key2[1]:
print key1[1]
print "Common between file1 and file3 files:"
for key1 in listA1:
for key2 in listC1:
if key1[1] == key2[1]:
print key1[1]
或...有'A1'和'A2'作爲發電機,用'set'實現最小,然後使用它的'intersection'方法,並保持其他發電機作爲發電機... –
@JonClements:是的,A2和A3可以只是一個'(行[csv.reader(f))行',只有A1需要是一個明確的'set'。 – abarnert