a = list(range(10, 21))

b = 9

c = 21

How can I find out if b and c have values less or more than the values
in list a?

Sounds like a good use for 2.5's addition of the any() and all() functions -- you don't mention whether you want your variable compared against *any* of the list items or *all* of the list items. You also don't mention whether you want the comparison results, or just a single scalar. Lastly, you omit the details of what happens if your target value ("d" below) falls within the range. One of the following should do it for you:

  >>> a = range(10,21)
  >>> b = 9
  >>> c = 21
  >>> d = 15
  >>> any(b < x for x in a)
  True
  >>> all(b < x for x in a)
  True
  >>> any(c < x for x in a)
  False
  >>> any(d < x for x in a)
  True
  >>> all(d < x for x in a)
  False
  >>> any(c > x for x in a)
  True
  >>> all(c > x for x in a)
  True
  >>> any(d > x for x in a)
  True
  >>> all(d > x for x in a)
  False

If you just want the comparisons:

  y1 = [b<x for x in a]
  y2 = [c<x for x in a]
  y3 = [d<x for x in a]
  z1 = [(b<x, b>x) for x in a]
  z2 = [(c<x, c>x) for x in a]
  z3 = [(d<x, d>x) for x in a]

-tkc






--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to