7

I have some code which is essentially this:

data = ["some", "data", "lots", "of", "strings"]
separator = "."

output_string = ""
for datum in data:
    output_string += datum + separator

How can I do this with str.join() or a similar built-in function? (or is it not possible?)

Leonora Tindall
  • 1,161
  • 1
  • 9
  • 26

2 Answers2

21

If the separator is a variable you can just use variable.join(iterable):

data = ["some", "data", "lots", "of", "strings"]
separator = "."


print(separator.join(data))
some.data.lots.of.strings
Padraic Cunningham
  • 168,988
  • 22
  • 228
  • 312
3
output_string = ".".join(data)

if you have integers or non-strings in data, then

output_string = ".".join( str(x) for x in data )
labheshr
  • 2,568
  • 2
  • 20
  • 30