Dada esta inofensiva pequeña lista:manera más Pythonic para concatenar cadenas
>>> lst = ['o','s','s','a','m','a']
Mi objetivo es concatenar pythonically los pequeños demonios utilizando una de las siguientes maneras:
A. ol llano' función de cadena de hacer el trabajo, cortas, no hay importaciones
>>> ''.join(lst)
'ossama'
B. lambda, lambda, lambda
>>> reduce(lambda x, y: x + y, lst)
'ossama'
C. globalización (no hacer nada, importar todo)
>>> import functools, operator
>>> functools.reduce(operator.add, lst)
'ossama'
Para sugerir otras formas Pythonic para lograr esta tarea magnánima.
Clasifique las soluciones de rango (nivel pythonic) y proporcione explicaciones concisas.
En este caso, ¿la solución más pitónica es la mejor solución de codificación?
Mientras que las soluciones basadas en reducir son elegantes y el programador funcional en mí las aprecia, debo aceptar que join() es de hecho la única solución pitonica. – liwp
SilentGhost tiene razón. Las cadenas tienen un método de combinación que acepta iterables, por lo que usar cualquier otra cosa no es pitónico. – stefanw
Entonces, gente, pls, verifique el tipo nativo de "bytearray", responda a continuación). Sin embargo, unirse es ubinable hasta Python 2.5. – jsbueno