Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
David Sanchez
623 PuntosListas multidimensionales - Atrapado
Estoy atascado en la segunda parte del Desafío de Codificación para listas multidimensionales. ¿Podría alguien ayudarme por favor?
grupos_musicales = [
[Ad Rock, MCA, Mike D.],
[John Lennon, Paul McCartney, Ringo Starr, George Harrison],
[Salt, Peppa, Spinderella],
[Rivers Cuomo, Patrick Wilson, Brian Bell, Scott Shriner],
[Chuck D., Flavor Flav, Professor Griff, Khari Winn, DJ Lord],
[Axl Rose, Slash, Duff McKagan, Steven Adler],
[Run, DMC, Jam Master Jay],
]
para miembros_grupo en grupos_musicales:
print(, .join(miembros_grupo))
3 Respuestas
Jonathan Grieve
91,254 puntosPrueba este código. Recuerda que el desafío de código es sintácticamente consciente, por lo que busca una forma particular en que el código esté formateado.
Así que lo que estamos haciendo es escribir una declaración condicional que verifica si la iteración particular del bucle tiene una lista que tiene exactamente 3 elementos de largo... que es el trío de nombres que queremos. Por eso pasamos group_members` porque esto se llama una variable de trabajo.
Luego imprimimos las partes restantes filtradas del bucle.
para miembros_grupo en grupos_musicales:
if(len( miembros_grupo ) == 3)
print(, .join(miembros_grupo))
David Sanchez
623 PuntosGracias. Entonces, ¿por qué el código no se vería como lo que he mostrado a continuación con el número 3 entre corchetes?
for group_members in musical_groups: if(len(group_members) == [3] print(", " .join(group_members))
Jonathan Grieve
91,254 puntosNecesitas encontrar una forma de imprimir solo ejecutar el código cuando la longitud del array dentro del array musical_groups es 3.
Hay un método que puedes usar para eso llamado len(). Escribe una declaración if que verifique esa condición y pásala dentro de tu bucle.
David Sanchez
623 PuntosIntenté usar la función len como sugiriste, pero todavía estoy recibiendo errores.
Chris Drummond
1,315 PuntosTambién tengo problemas. Usé tu código Jonathan Grieve pero obtengo un syntaxerror: Señala el 3 o algo por ahí siendo el problema:
for band in musical_groups: seperator = ", " bands = seperator.join(band) print(bands)
for group_members in musical_groups: if(len(group_members) == 3) print(", " .join(group_members))
Jonathan Grieve
91,254 puntospara miembros_grupo en grupos_musicales:
if( len( miembros_grupo ) == 3):
print(, .join(miembros_grupo))
Usando el código que escribí originalmente, agrega otro dos puntos a la declaración if . Debo haber olvidado hacer eso en mi respuesta. :)
Nick raut
Desarrollo en Python Estudiante de Techdegree 971 PuntosNick raut
Desarrollo en Python Estudiante de Techdegree 971 PuntosHola David: La función "Len" te ayudará a encontrar la longitud de un iterable (lista, cadenas, tupla y más). Recuerda que en el caso de multidimensional tenemos una lista dentro de una lista. En caso de tu duda, es una lista bidimensional. Así que cuando escribas: for group_members in musical_groups: print(", " .join(group_members))
Ten en cuenta que el método join siempre toma un iterable y lo has hecho correctamente. Básicamente estás iterando sobre otras sublistas presentes bajo la lista principal, es decir, musical_groups. Recuerda que la variable group_members que creaste es la sublista que contendrá el nombre del miembro en cada uno de los grupos. Ahora también podemos iterar sobre group_member ya que también son iterables.
Ahora viniendo a tu duda: la función len también toma un iterable. Por lo tanto, puedes poner tu código bajo una declaración if:
for group_members in musical_groups: if len(group_members) == 3: print(", " .join(group_members))
** UN POCO DE ADVERTENCIA POR FAVOR NO COPIES EL CÓDIGO. INTENTA ENTENDER. SI TODAVÍA TIENES DUDAS PREGUNTA HASTA QUE LO DOMINES. **
Que disfrutes aprendiendo