Python: ¿alguna forma de realizar esta división "híbrida" () en cadenas multilingües (por ejemplo, chino e inglés)?
Tengo cadenas que son multilingües y consisten en ambos idiomas que usan espacios en blanco como separador de palabras (inglés, francés, etc.) e idiomas que no lo hacen (chino, japonés, coreano).
Dada una cadena de este tipo, quiero separar la parte en inglés / francés / etc. en palabras usando espacios en blanco como separador, y separar la parte en chino / japonés / coreano en caracteres individuales.
Y quiero poner todos esos componentes separados en una lista.
Algunos ejemplos probablemente aclararían esto:
Caso 1: Cadena solo en inglés. Este caso es fácil:
>>> "I love Python".split()
['I', 'love', 'Python']
Caso 2: Cadena solo en chino:
>>> list(u"我爱蟒蛇")
[u'\u6211', u'\u7231', u'\u87d2', u'\u86c7']
En este caso, puedo convertir la cadena en una lista de caracteres chinos. Pero dentro de la lista obtengo representaciones unicode:
[u'\u6211', u'\u7231', u'\u87d2', u'\u86c7']
¿Cómo consigo que muestre los caracteres reales en lugar del Unicode? Algo como:
['我', '爱', '蟒', '蛇']
??
Caso 3: Una mezcla de inglés y chino:
Quiero convertir una cadena de entrada como
"我爱Python"
y lo convierte en una lista como esta:
['我', '爱', 'Python']
¿Es posible hacer algo así?