Не могу придумать вменяемое
import itertools
import typing
from functools import partial
def expand_strings(*args: typing.Any) -> typing.Iterable[str]:
"""
>>> list(expand_strings(('', 'dir/'), ('file1', 'file2', 'file3'), ('.ext1', '.ext2')))
['file1.ext1', 'file1.ext2', 'file2.ext1', 'file2.ext2', 'file3.ext1', 'file3.ext2', 'dir/file1.ext1', 'dir/file1.ext2', 'dir/file2.ext1', 'dir/file2.ext2', 'dir/file3.ext1', 'dir/file3.ext2']
"""
return map(partial(str.join, ''), itertools.product(*args))