Write a function that takes an arbitrary number of strings and interlaces them (combines them by alternating characters from each string).

For example `combineStrings('abc', '123')` should return `'a1b2c3'`.

If the strings are different lengths the function should interlace them until each string runs out, continuing to add characters from the remaining strings.

For example `combineStrings('abcd', '123')` should return `'a1b2c3d'`.

The function should take any number of arguments and combine them.

For example `combineStrings('abc', '123', '£$%')` should return `'a1£b2$c3%'`.

**Note: if only one argument is passed return only that string. If no arguments are passed return an empty string.**

Difficulty: introductory

Starter code:

def combine_strings(*args):
	

Solutions:
from itertools import zip_longest

def combine_strings(*args):
    return ''.join(''.join(x) for x in zip_longest(*args, fillvalue=''))

from itertools import zip_longest, chain
def combine_strings(*args):
    return ''.join(chain(*zip_longest(*args, fillvalue = '')))

from itertools import zip_longest
combine_strings = lambda *strings: ''.join(map(''.join, zip_longest(*strings, fillvalue='')))

from itertools import zip_longest as zl


def combine_strings(*stgs):
    return "".join("".join(z) for z in zl(*stgs, fillvalue=""))

from itertools import chain, zip_longest

def combine_strings(*args):
    return ''.join(chain.from_iterable(zip_longest(*args, fillvalue='')))

import itertools
def combine_strings(*args):
    return "".join(("".join(i) for i in itertools.zip_longest(*args,fillvalue="")))

from itertools import zip_longest

def combine_strings(*args):
    return ''.join(map(''.join, zip_longest(*args, fillvalue='')))

import itertools as it
def combine_strings(*argv):
    return "".join(it.chain(*it.zip_longest(*argv, fillvalue="")))

def combine_strings(*args):
    sol='';words=[]
    if len(args)==0:return sol
    for a in args:words.append(list(a))
    while 1:
        for i,w in enumerate(words):
            if len(w)!=0:
                sol=sol+w[0]
                words[i].remove(w[0])
        if all(not element for element in words):break
    return sol