On Thu, Jan 24, 2013 at 11:55 AM, Tobias M. <t...@tobix.eu> wrote: > Hi, > > do a "print sp" after the split and you might see that the strings don't > look as you expected. There might be leading or trailing whitespaces in the > splitted strings and in sp[10] there probably is a line break "\n" at the > end. > To remove those unwanted characters you could use the strip() function. > > So your code could be: > > if sp[9].strip() == sp[10].strip(): > > print "Same class" > else: > print "Different class" > > At least this works for me when I tried it... > > Am 24.01.2013 11:37, schrieb inshu chauhan: > > Here I have a code which basically reads a csv file, tries to compare > the last 2 items in each line of the file. > > f = open(r"Z:\modules\Feature_Vectors_300_Pclass.arff") > for l in f: > sp = l.split(",") > if len(sp) != 11: > print >> of, l, > > else: > #print sp[9], sp[10] > if sp[9] == sp[10]: > print " Same class" > else : > print "Different class" > > f.close() > > For me I think the programme is logically correct, but its giving me > results which are strange. > It is Printing " Different Class" even when sp[9] is equal to sp[10] > and "Same class" when sp[9] is not equal to sp[10]. and sp[9] and sp[10] > are simple integers like 3, 3, 4 ,4. > > I have a little understanding why the programme is behaving like this ? > > > Yeah I tried printing, there were trailing white spaces, so i used > strip() and IT Worked !!! :) >
Thank you > > -- > http://mail.python.org/mailman/listinfo/python-list > >
-- http://mail.python.org/mailman/listinfo/python-list