Given a string, you progressively need to concatenate the first letter from the left and the first letter to the right and "1", then the second letter from the left and the second letter to the right and "2", and so on.

If the string's length is odd drop the central element.

For example:
```python
char_concat("abcdef")    == 'af1be2cd3'
char_concat("abc!def")   == 'af1be2cd3' # same result
```

Source: codewars | Difficulty: EASY
Tags: Fundamentals

Starter code: def char_concat(word):
	

Solutions:
def char_concat(word, index=1):
	if len(word) < 2:
		return ''
	return word[0:1] + word[-1:] + str(index) + char_concat(word[1:-1], index + 1)


def char_concat(word):
	return ''.join([word[i] + word[-1 - i] + str(i + 1) for i in range(len(word) // 2)])


def char_concat(word):
	return ''.join(('{}{}{}'.format(word[n], word[-1 - n], n + 1) for n in range(len(word) // 2)))


def char_concat(word):
	half = len(word) // 2
	return ''.join(('{}{}{}'.format(a[0], a[1], i) for (i, a) in enumerate(zip(word[:half], word[::-1][:half]), 1)))


def char_concat(word):
	m = (len(word) + 2) // 2
	return ''.join((a + b + str(i) for (i, (a, b)) in enumerate(zip(word[:m], word[-1:-m:-1]), 1)))


def char_concat(w):
	n = len(w) // 2
	return ''.join((c[0] + c[1] + str(i + 1) for (i, c) in enumerate(zip(w[:n], w[:-n - 1:-1]))))


def char_concat(word):
	return ''.join(('%s%s%d' % (a, b, i) for (i, (a, b)) in enumerate(zip(word[:len(word) // 2], reversed(word[-len(word) // 2:])), 1)))