Henning Hraban Ramm wrote:

I'm looking for a better algorithm...

This is probably as terse as it gets:


def bool2cm0k(lst): """Converts a list of booleans to a CMYK color string, e.g. [True, False, False, True] to 'C00K' """ return ''.join([b and c or '0' for b, c in zip(lst, 'CMYK')])

def cm0k2bool(s):
    """Converts a CMYK color string to a list of booleans,
        e.g. 'CM0K' to [True, True, False, True]
    """
    return [c1 == c2 for c1, c2 in zip(s, 'CMYK')]

print bool2cm0k([True, False, False, True]) # --> C00K
print cm0k2bool('CM0K') # --> [True, True, False, True]


HTH

has
--
http://freespace.virgin.net/hamish.sanderson/
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to