Грустно, когда каждый перловик считает должным смеяться над питоновским join.
Для себя я проблему решил так.
НЕТ:
print('-'.join(map(lambda x: f'{x ** 2}',
filter(lambda x: 2 < x < 8,
map(lambda x: x * 2, range(5))))))
НО ДА:
class list(list):
map = lambda self, fn: list(map(fn, self))
filter = lambda self, fn: list(filter(fn, self))
join = lambda self, d: d.join(map(str, self))
array = list(range(5))
print(array.map(lambda x: x * 2)
.filter(lambda x: 2 < x < 8)
.map(lambda x: x ** 2)
.join('-'))