最近在学习 Python 基础,做到一个很简单的练习题,尽可能多的尝试了各种方法。
1. 最简单的
def clear_spaces(ss):
return ss.replace(' ','')
2. 遍历 str,将不为空的字第通过 『+』拼接到一个新的 str 中,最后返回
def clear_spaces(ss):
ret_str = ""
for s in ss:
if s !=' ':
ret_str += s
return ret_str
3. 遍历 str ,并不为空的值 append 入 list ,再通过 ''.join(list) 转成 str
def clear_spaces(ss):
ret_val = ""
for s in ss:
if not s.isspace():
ret_val.append(s)
return ''.join(ret_val)
4. 使用 str.split() 分割 str 成 list,再通过 ''.join(list) 转成 str
def clear_spaces(ss):
ret_val = ss.split(' ')
return ''.join(ret_val)
5. 使用 str.split() 分割 str 成 list,再通过 ''.join(list) 转成 str
def clear_spaces(ss):
ret_val = ss.split(' ')
return ''.join(ret_val)
6. 使用 列表推导式生成 list,再通过 ''.join(list) 转成 str
def clear_spaces(ss):
return "".join(i for i in ss if not i.isspace())
7. 使用 map 函数生成 list,再通过 ''.join(list) 转成 str
def clear_spaces(ss):
return ''.join(map(lambda i: i if not i.isspace() else '', ss))
8. 使用 filter 函数生成 list,再通过 ''.join(list) 转成 str
def clear_spaces(ss):
return ''.join(filter(lambda x: not x.isspace(), ss))
9. 使用 reduce 函数生成 list,再通过 ''.join(list) 转成 str
from functools import reduce
def clear_spaces(ss):
return reduce(lambda x, y: x + y.strip(), ss, '')
10. 使用正则表达式替换 str 中所有的空格
import re
def clear_spaces(ss):
pattern = r'\s+'
return re.sub(pattern, '', ss)
网友评论