amarao (amarao_san) wrote,
amarao
amarao_san

питоновское - стиль

def clear_name(line):
	return_line=" "
	convert_to_spaces="~-_	. "
	for p in line:
		if p in convert_to_spaces:
			if not return_line[-1] == " ":
				return_line+=" "
		else:
			return_line+=p
	return return_line.strip()


Выглядит криво (по-сишному, причём на си это бы реально шустро работало, а тут...). Я бы это записал в виде фильтра:

return filter(labda x:x in convert_to_spaces for x in line).strip(), если бы не вот это:

if not return_line[-1] == " ":
return_line+=" "

А, может, в питоне есть функция "убить двойные пробелы"?
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 12 comments