Python - Paso a comprensión

 
Vista:

Paso a comprensión

Publicado por Raquel (12 intervenciones) el 03/11/2017 10:22:47
Hola, mi duda es la siguiente:
Tengo que realizar el ejercicio que se muestra a continuación, pero solo sé por recursión, no sé como pasarlo a comprensión.
A ver si alguien me puede echar una mano.
Gracias!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# EJERCICIO 11
# ------------
#
# 
# Definir, usando definición de listas por comprensión, una función
# sustituye(x,y,l) que obtiene el resultado de sustituir en l todas las
# ocurrencias (a primer nivel) de x por y.
 
# Ejemplo:
 
# >>> sustituye("a","b",["q","w","a","b","a","a","c"])
# ['q', 'w', 'b', 'b', 'b', 'b', 'c']
# >>> sustituye("a","b",["q","w",["a","b"],"a","a","c"])
# ['q', 'w', ['a', 'b'], 'b', 'b', 'c']
# -----------------------------------------------------------------------
 
def sustituye(x,y,l):
   for i in range(len(l)):
       if l[i]==x:
           l[i]=y
   return l
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 abzerox
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Paso a comprensión

Publicado por abzerox (109 intervenciones) el 04/11/2017 05:07:59
Hola, prueba con esto:

1
2
def sustituye(x, y, l):
    return [y if i == x and isinstance(x, str) else i for i in l]
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