web-dev-qa-db-fra.com

Python ajout d'espace entre les caractères dans la chaîne. Manière la plus efficace

Disons que j'ai une chaîne s = 'BINGO'; Je veux parcourir la chaîne pour produire 'B I N G O'.

C'est ce que j'ai fait:

result = ''
for ch in s:
   result = result + ch + ' '
print(result[:-1])    # to rid of space after O

Existe-t-il un moyen plus efficace de procéder à ce sujet?

22
user2425814
s = "BINGO"
print(" ".join(s))

Devrait le faire.

40
Kevin London
s = "BINGO"
print(s.replace("", " ")[1: -1])

Horaires ci-dessous

$ python -m timeit -s's = "BINGO"' 's.replace(""," ")[1:-1]'
1000000 loops, best of 3: 0.584 usec per loop
$ python -m timeit -s's = "BINGO"' '" ".join(s)'
100000 loops, best of 3: 1.54 usec per loop
20
John La Rooy