You could define a relation between a pair and a string representation of a pair.
That’s what a function is, a relation from one value to another.
Given such a function and a list of pairs, you could then obtain a list of string representations of those pairs.
Now you’ve got multiple strings, which could potentially be building blocks of a larger strings, perhaps a summary of them all. You could for example concatenate them all, perhaps you’d want something in-between them like a newline and/or some other separator.
If you have many things and want to put something between each thing, then that would be another relation from some input to some output, so you could for example:
intersperse(['1', '2', '3'], ',')
(intersperse isn’t a built-in function)
['1', ',', '2', ',', '3']
to then be concatenated into
you might only be interested in writing out one pair, but perhaps this gives you an idea of how you might move data around to get to where you want