Strange side effect from reading a list of numbers from argv
Fredrik Lundh
fredrik at pythonware.com
Mon Jul 19 05:59:13 EDT 1999
Harold Gottschalk <heg at softbrew.com> wrote:
> I just wrote this program to become familiar with python and I do not
> understand why it works with a list I create with in the program and not
> when I use sys.argv[1:].
>
> I am sure there is some nuance I am missing, but an explanation to its
> behavior would be helpful.
adding a "print type(value)" or "print repr(value)" inside
the loop helps you figure out what's going on. then read
http://www.python.org/doc/current/ref/comparisons.html
to find the rules for comparing apples and oranges:
"Most other types compare unequal unless
they are the same object; the choice whether
one object is considered smaller or larger than
another one is made arbitrarily but consistently
within one execution of a program."
adding a "value = int(value)" inside the loop helps you
do what you want. if you're feeling fancy, you can
also write that as:
for value in map(int, sys.argv[1:]):
...
</F>
More information about the Python-list
mailing list