Try this:
>>> s = "hello world! how are you? 0"
>>> ' '.join(j[::2] if i%2==0 else j[1::2] for i,j in enumerate(''.join(k for k in s if k.isalpha() or k==' ').split()))
'hlo ol hw r yu'
First we remove all non-alphabetical characters and spaces with ''.join(k for k in s if k.isalpha() or k==' ')
. This produces 'hello world how are you '
. Then we split it. We get ['hello', 'world', 'how', 'are', 'you']
. Now For each item in this list we skip alternating characters in the string starting from second index if they in odd position (index) and skip alternating characters in the string from the first index if they are in even position (index).
This is equivalent to :
s1 = ''.join(k for k in s if k.isalpha() or k==' ') #'hello world how are you'
s1_list = s1.split() #['hello', 'world', 'how', 'are', 'you']
s2_list = [j[::2] if i%2==0 else j[1::2] for i,j in enumerate(s1_list)] #['hlo', 'ol', 'hw', 'r', 'yu']
s3 = ' '.join(s2_list) #'hlo ol hw r yu'