On Mon, Aug 1, 2011 at 4:17 PM, Anand Chitipothu <anandol...@gmail.com> wrote: > 2011/8/1 Dhananjay Nene <dhananjay.n...@gmail.com>: >> On Sat, Jul 30, 2011 at 2:15 PM, Asif Jamadar <asif.jama...@rezayat.net> >> wrote: >>> What if I have two lists for both minimum and maximum values >>> >>> Minimum Maximum >>> 0 10 >>> 11 20 >>> 21 30 >>> 31 40 >>> >>> >>> Now how should I check if actual result is not laying between above ranges >>> >>> if not minimum<=actual_result and not maximum>=actual_result: >>> >>> Any suggestions? >> >> def in_range(number) : >> return any(map(lambda (x,y) : x <= number <= y, >> ((0,10),(11,20), (21,30), (31,40)))) > > How about this? > > def in_range(number, min_max_pairs): > return any(x <= number <=y for x, y in min_max_pairs)
Definitely better > > List comprehensions and generation expressions are usually more > readable and expressive than using map. Thats probably truer for the python and python trained eyes than any other (in other words its both subjective and contextual and a bit to do with syntax). Allow me to illustrate : If I want to double all elements in a list and then increment them by one, here's how I would use a map in python def double(x) : return x * 2 def increment(x) : return x + 1 print map(increment,map(double,range(5))) and here's how I would do it in scala - notice the last (third) line and consider its readability (I'm sure a scala non-novice will offer something even superior) def double(n: Int) = n * 2 def increment(n: Int) = n + 1 println(0 to 4 map double map increment) so readability is often a function of what one's eyes are trained ot read and also the syntactic capabilities in the language I also find map much more atomic and portable construct to think in - after all every list comprehension is syntactic sugar around map + filter, and map/reduce/filter are far more omnipresent than list comprehensions. _______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers