He escrito la función siguiente que convierte subrayado en camelcase con la primera palabra en minúscula, es decir, "get_this_value" -> "getThisValue". También tengo requisito para preservar ataque y de salida de subrayado y también doble (triple etc.) pone de relieve, en su caso, es decir,¿Cómo puedo simplificar esta conversión de subrayado a camelcase en Python?
"_get__this_value_" -> "_get_ThisValue_".
el código:
def underscore_to_camelcase(value):
output = ""
first_word_passed = False
for word in value.split("_"):
if not word:
output += "_"
continue
if first_word_passed:
output += word.capitalize()
else:
output += word.lower()
first_word_passed = True
return output
me siento el código anterior como está escrito en estilo no-Pythonic, aunque funciona como se esperaba, por lo que buscamos cómo simplificar el código y escribirlo usando listas de comprensión, etc.
su pregunta no está clara; ¿Desea convertir "get_this_value" en "getThisValue" o "_get_ThisValue_" – tuergeist
"get_this_value" -> "getThisValue", la primera variante. Sin guiones bajos a menos que estén al principio, al final o hay dos o más guiones bajos que se siguen uno al otro. –
¿Estás seguro de que tu función funciona como se esperaba? Estás diciendo que quieres * preservar * dobles, triples ... guiones bajos, sin embargo, lo que hace tu código es cortar un guión bajo. Es decir. de get__this_value, obtienes get_ThisValue y de get____this, get___This. ¿Es esto lo que quieres? – ecik