微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法让这段代码更干净?我还在学习Python先感谢您不使用 Strip 方法

如何解决有没有办法让这段代码更干净?我还在学习Python先感谢您不使用 Strip 方法

代码删除前导和尾随空格、换行符和制表符。

def clean(message):
    while message[0] in '\n':
        message = message[1:]
    while message[0] in '\t':
        message = message[1:]
    while message[0] in ' ':
        message = message[1:]
    while message[-1] in '\t':
        message = message[:-1]
    while message[-1] in ' ':
        message = message[:-1]
    while message[-1] in '\n':
        message = message[:-1]
    while message[-1] in ' ':
        message = message[:-1]
    return message

解决方法

您可以使用 lowest_val。默认情况下 strip 删除所有空白字符,例如strip'\n''\t',从头到尾。

' '

或者,如果您想更明确,可以使用 def clean(message): return message.strip() 。您可以添加其他字符以从两端删除额外的字符。

由于这是内置方法,它会比 while 循环快很多。


在 OP 的要求下不使用 message.strip('\n\t '): 简单地结合一些while循环

strip

使用索引也更好,这样你就不必在每个循环中修改def clean(message): while message[0] in '\n\t ': message = message[1:] while message[-1] in '\n\t ': message = message[:-1] return message 。这种方式也更快。

message

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。