Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法让代码更干净?I';我还在学Python。先谢谢你。不使用条带法_Python_Python 3.x_String_While Loop_Slice - Fatal编程技术网

有没有办法让代码更干净?I';我还在学Python。先谢谢你。不使用条带法

有没有办法让代码更干净?I';我还在学Python。先谢谢你。不使用条带法,python,python-3.x,string,while-loop,slice,Python,Python 3.x,String,While Loop,Slice,此代码将删除前导和尾随空格、换行符和制表符 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'

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

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

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

def clean(message):
    return message.strip()
或者,如果希望更加明确,可以使用
message.strip('\n\t')
。可以添加其他字符以从两端删除其他字符

由于这是一种内置方法,因此比while循环快得多


根据OP的要求,不使用
strip
: 简单地组合一些while循环

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

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

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

def clean(message):
    return message.strip()
或者,如果希望更加明确,可以使用
message.strip('\n\t')
。可以添加其他字符以从两端删除其他字符

由于这是一种内置方法,因此比while循环快得多


根据OP的要求,不使用
strip
: 简单地组合一些while循环

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

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

一种可能的方法可能包括查找/替换不需要的字符/项目。这是否回答了您的问题?一种可能的方法可能包括查找/替换不需要的字符/项目。这是否回答了您的问题?啊,是的!我忘了提到没有使用剥离法。非常感谢!这看起来比我的好多了。啊,是的!我忘了提到没有使用剥离法。非常感谢!这看起来比我的好得多。