nah, non ho riportato l'import da functools
Ah, ok... ma questo rovina lo one-liner... Ma non c'è niente da fare, hanno tolto tutto il divertimento da Python 3

rivedo...(purtroppo...)

s = 'megliochevadoadormire'
''.join(c if i % 2 != 0 else chr(ord(c) - 32) for i, c in enumerate((map(lambda d: list(d).pop(0), s.lower()))))
Vero, ma allora basta
''.join(c.lower() if i%2!=0 else c.upper() for i, c in enumerate(s))
che a questo punto non è più offuscato per nulla... a dimostrazione del fatto che 1) il problema è troppo semplice, 2) Python è troppo espressivo.