printing - Incorrect format of generator expression? python -


i'm trying change several if , else statements generator expressions , reason gives me error.

so if , else statement this..

sequence = 'ctgagtagc' reference = 'atgactgcc'  seq, ref in zip(sequence,reference):     if seq == ref:         print seq,'-',ref     else:         print seq,' ',ref 

i've tried above if , else statement generator expression..

tmp = (seq,'-',ref if seq==ref else seq,' ',ref seq,ref in zip(sequence,reference)) print tmp 

and gives me error this:

tmp = (seq,'-',ref if seq==ref else seq,' ',ref seq,ref in zip(sequence,reference))                                                   ^ syntaxerror: invalid syntax 

you need disambiguate tuples in expression:

tmp = ((seq, '-', ref) if seq == ref else (seq, ' ', ref)        seq, ref in zip(sequence, reference)) 

or even

tmp = ((seq, '-' if seq == ref else ' ', ref)        seq, ref in zip(sequence, reference)) 

demo:

>>> sequence = 'ctgagtagc' >>> reference = 'atgactgcc' >>> tmp = ((seq, '-' if seq == ref else ' ', ref) ...        seq, ref in zip(sequence, reference)) >>> tup in tmp: ...     print tup ...  ('c', ' ', 'a') ('t', '-', 't') ('g', '-', 'g') ('a', '-', 'a') ('g', ' ', 'c') ('t', '-', 't') ('a', ' ', 'g') ('g', ' ', 'c') ('c', '-', 'c') 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -