D.V.N.Sarma wrote:
[snip recursive merge sort algorithm]
> Especially the statement
> 
> v = (a[0] < b[0] and a or b).pop(0)
> 
> gives a.pop(0), if a[0] < b[0] otherwise b.pop(0).

I believe this idiom was used before the ternary if statements were
introduced (in 2.5 I believe). In modern Python you could do an
ternary if which is more explicit and clearer in my mind.

v = a.pop(0) if a[0]<b[0] else b.pop(0) 

> 
> We have to look at the statement as
> 
> v = ((a[0] < b[0] and a) or b).pop(0)

v = (a if a[0]< b[0] else b).pop(0)

> 
> 
> regards,
> Sarma.


~Ramit



This email is confidential and subject to important disclaimers and conditions 
including on offers for the purchase or sale of securities, accuracy and 
completeness of information, viruses, confidentiality, legal privilege, and 
legal entity disclaimers, available at 
http://www.jpmorgan.com/pages/disclosures/email.  
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to