Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #37558 > unrolled thread

Re: using split for a string : error

Started byChris Angelico <rosuav@gmail.com>
First post2013-01-24 21:58 +1100
Last post2013-01-24 21:58 +1100
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: using split for a string : error Chris Angelico <rosuav@gmail.com> - 2013-01-24 21:58 +1100

#37558 — Re: using split for a string : error

FromChris Angelico <rosuav@gmail.com>
Date2013-01-24 21:58 +1100
SubjectRe: using split for a string : error
Message-ID<mailman.958.1359025124.2939.python-list@python.org>
On Thu, Jan 24, 2013 at 9:37 PM, inshu chauhan <insideshoes@gmail.com> wrote:
> 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 ?

Without your data file I can't advise, but here's a couple of things
to try. I see you've tried displaying the values:

#print sp[9], sp[10]

Try this version:

print repr(sp[9]), repr(sp[10])

That'll make it obvious if, for instance, there are leading/trailing spaces.

The other thing you may want to consider, if the values are supposed
to be integers, is to convert them to Python integers before
comparing. Currently, you're working with strings. Replace this:

if sp[9] == sp[10]:

with this:

if int(sp[9]) == int(sp[10]):

That will consider "1" and "1 " to be the same, since they'll both be
parsed as the integer 1. Alternatively, consider what Tobias said and
explicitly strip spaces. Either way, displaying repr() of the strings
(or printing the whole of sp, as Tobias suggests) will show you what's
needed.

ChrisA

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web