Python - Concatenar en python

   
Vista:

Concatenar en python

Publicado por Julian Estiben (16 intervenciones) el 19/10/2015 21:05:22
Buenas, necesito que la lista x=[ 'do' , 're' , 'mi' , 'fa' ] se sume con la letra 'n' , es decir, que z= 'n' + x sea
1
z=[ 'ndo' , 'nre' , 'nmi' , 'nfa' ]
Ademas de eso que con un for me recorra z para que me llame cada una de las funciones (las funciones se llaman ndo, nre, nmi...) . y me lo concatene con execfile( 'z[i]'.py ).
Gracias.
Pd= El algoritmo lo hice en matlab y necesito que haga lo mismo en python.
1
2
3
4
5
6
function notas(w)
    q=strcat('n',w);
    for i=1:length(w)
        eval(q{i})
    end
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Concatenar en python

Publicado por xve (1229 intervenciones) el 19/10/2015 21:17:59
Hola Julian, con este simple bucle lo he conseguido
1
2
3
4
5
6
z=[ 'do' , 're' , 'mi' , 'fa' ]
 
for i in range(0,len(z)):
	z[i]="n"+z[i]
 
print z


Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jorge De Los Santos

Concatenar en python

Publicado por Jorge De Los Santos (54 intervenciones) el 20/10/2015 00:12:38
Hola Julian

Podrías implementarlo con un bucle for como sigue:

1
2
3
4
z = ['do','re','mi','fa']
for k in range(len(z)):
	z[k] = "n"+z[k]+".py"
	execfile(z[k])


Otra manera más reducida y quizá más conveniente en Python sería algo como lo siguiente:

1
2
3
z = ['do','re','mi','fa']
z = ["n"+x+".py" for x in z]
map(execfile, z)


Ahora, por lo que veo, estás "pasando" código MATLAB a Python. A manera de recomendación yo te diría que tomes en cuenta que en Python puedes ahorrarte ficheros y poner varias funciones en un mismo archivo, cosa que no en MATLAB. Por ejemplo podrías definir todos tus funciones de notas en un mismo archivo, por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
def ndo(args):
    """ ... """
 
def nre(args):
    """ ... """
 
def nmi(args):
    """ ... """
.
.
.


Y luego puedes importar esas funciones dentro de el fichero en donde las utilices, y utilizar eval() para llamar las funciones, ej:

1
2
3
4
5
from archivo import *
 
z = ['do','re','mi','fa']
z = ["n"+x+"()" for x in z]
map(eval, z)


Pero bueno, es sólo una recomendación.



Saludos.

Jorge De Los Santos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de xve

Concatenar en python

Publicado por xve (1229 intervenciones) el 20/10/2015 07:55:49
Excelente Jorge!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar