help with loops

Catalina Scott A Contr AFCA/EVEO scott.catalina.ctr at scott.af.mil
Mon Mar 6 10:48:07 EST 2006


I was trying to compare each line of file1 with each line of file2. Your
solution worked perfectly.

Thanks!

Scott


-----Original Message-----
From: Tim Chase [mailto:python.list at tim.thechases.com] 
Sent: Monday, March 06, 2006 9:17 AM
To: Catalina Scott A Contr AFCA/EVEO
Cc: python-list at python.org
Subject: Re: help with loops

> I have two files and I want to pull out lines from file 2
> if certain conditions are found if file 1.


Well, I'm not quite sure from your description of the 
problem if you want to compare every line in file1 against 
every line in file2, or if you just want to compare line1 of 
file1 with line1 of file2; line2 of file1 with line2 of file2...

For the former, you'd use something like

for line1 in file1.readlines():
	list1 = line1.split(",")
	for line2 in file2.readlines():
		list2 = line2.split(",")
		if (list1[3] == list2[6] and list1[4] == list2[8]):
		        print line

For the latter, you have to consider the case where one file 
is longer than the other, unless you happen to know that 
they're the same length.  If they are, or you just want the 
min length of whichever is shorter, you could do something like

for line1,line2 in zip(file1.readlines(), file2.readlines()):
	list1 = line1.split(",")
	list2 = line2.split(",")
	if list1[3] == list2[6] and list1[4] == list2[8]:
	        print line

Just a few thoughts you might try tinkering with to see if 
they do something close to what you want.

-tkc







More information about the Python-list mailing list