Python 去除字符串中的空格的几种实现方式

最近在学习 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)

瞎写着玩。

关于我:微博简书Github

    原文作者:DoubleThunder
    原文地址: https://www.jianshu.com/p/8d97e632dbea
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞