python 在字符串中的字符之间添加空格的有效方法

qojgxg4l  于 2023-01-01  发布在  Python
关注(0)|答案(5)|浏览(327)

假设我有一个字符串s = 'BINGO';我想迭代字符串以生成'B I N G O'
我是这么做的:

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

有没有更有效的方法来解决这个问题?

ctehm74n

ctehm74n1#

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

应该可以。

8yoxcaq7

8yoxcaq72#

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

以下时间

$ 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
bybem2ql

bybem2ql3#

巨蟒的方式#

一个非常实用的Python方法是使用string join()方法:

str.join(iterable)

Python的官方文档是这样说的:
返回一个字符串,该字符串是iterable...中字符串的串联。元素之间的分隔符是提供此方法的字符串。

如何使用

  • 记住:这是一个字符串方法 *。

此方法将应用于上面的str,它反映了将用作可迭代项分隔符的字符串。
让我们举一些实际的例子!

iterable = "BINGO"
separator = " " # A whitespace character.
                # The string to which the method will be applied
separator.join(iterable)
> 'B I N G O'

实际上,您可以这样做:

iterable = "BINGO"    
" ".join(iterable)
> 'B I N G O'

但是要记住,参数是可迭代的,就像字符串,列表,元组一样,尽管方法返回的是字符串。

iterable = ['B', 'I', 'N', 'G', 'O']    
" ".join(iterable)
> 'B I N G O'
  • 如果使用连字符作为字符串会发生什么 *
iterable = ['B', 'I', 'N', 'G', 'O']    
"-".join(iterable)
> 'B-I-N-G-O'
6jygbczu

6jygbczu4#

最有效的方法是获取输入,生成逻辑并运行
代码是这样的来制造你自己的空间制造器

need = input("Write a string:- ")
result = ''
for character in need:
   result = result + character + ' '
print(result)    # to rid of space after O

但是如果你想使用python给予的代码,那么就使用下面的代码

need2 = input("Write a string:- ")

print(" ".join(need2))
huwehgph

huwehgph5#

def space_the_chars(string):
    string = string.upper().replace(' ','')
    return string.replace('','  ')[2:-2]

space_the_chars(“I’m going to be spaced”)

函数分隔字符串的字符

相关问题