Meh*_*len 2 python string python-2.7
我想为字符串中的每个字符添加括号.所以
"HelloWorld"
Run Code Online (Sandbox Code Playgroud)
应成为:
"[H][e][l][l][o][W][o][r][l][d]"
Run Code Online (Sandbox Code Playgroud)
我用过这段代码:
word = "HelloWorld"
newWord = ""
for letter in word:
newWord += "[%s]" % letter
Run Code Online (Sandbox Code Playgroud)
这是最简单的方法,但字符串连接非常慢.有关加快此代码的任何建议.
>>> s = "HelloWorld"
>>> ''.join('[{}]'.format(x) for x in s)
'[H][e][l][l][o][W][o][r][l][d]'
Run Code Online (Sandbox Code Playgroud)
如果字符串很大,那么使用str.join列表推导将比使用生成器表达式(/sf/answers/634271711/)更快且内存效率更高:
>>> ''.join(['[{}]'.format(x) for x in s])
'[H][e][l][l][o][W][o][r][l][d]'
Run Code Online (Sandbox Code Playgroud)
避免这个:
s = ""
for substring in list:
s += substring
Run Code Online (Sandbox Code Playgroud)
请s = "".join(list)改用.在构建大型字符串时,前者是一个非常常见和灾难性的错误.
| 归档时间: |
|
| 查看次数: |
1919 次 |
| 最近记录: |