On Tue, 14 Sep 2010 01:58:07 pm aenea...@priest.com wrote: > if len(rgenre)>0: > if len(rgenre)>2: > rg1=rgenre[0] > rg2=rgenre[1] > rg3=rgenre[2] > elif len(rgenre)==2: > rg1=rgenre[0] > rg2=rgenre[1] > rg3="NA" > elif len(rgenre)==1: > rg1=rgenre[0] > rg2="NA" > rg3="NA" > else len(rgenre)<1: # I was hoping this would take care of the > "there is no genre information" scenario but it doesn't > rg1=rg2=rg3="NA"
The above will give a SyntaxError, because you can't have a condition immediately after an else. This is a neater way to write the above: n = len(rgenre) if n == 0: rg1 = rg2 = rg3 = "NA" elif n == 1: rg1 = rgenre[0] rg2 = rg3 = "NA" elif n == 2: rg1, rg2 = rgenre[0:2] rg3 = "NA" else: rg1, rg2, rg3 = rgenre[:3] which in turn can be shortened to the slightly cryptic one-liner: rg1, rg2, rg3 = (rgenre + ["NA"]*3)[:3] as already discussed earlier. -- Steven D'Aprano _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor