Si tengo una lista anidada (2 dos o mas listas dentro de otra lista) Como convierto todos los elementos de cada lista en una sola lista aparte que contenga todos los elementos juntos
Hola, una forma muy fácil de hacerlo es indicar el nombre junto a la posición de la sublista, en este caso la 2 y con esa posición indicas con pop() la posición dentro de la sublista. lista = ["uno", "dos", ["tres", "cuatro"]] lista[2].pop(0) print(lista)
En este caso como seria usar el metodo "insert " para insertar un elemento en una posición definida dentro de la sublista? a=[[10,100,1000],["texto1","texto2"],[True]] en la posición a [0][1]
Hola, la sintaxis es un poco diferente con insert: a=[[10,100,1000],["texto1","texto2"],[True]] a[0].insert(2,500) print(a) Salida: [[10, 100, 500, 1000], ['texto1', 'texto2'], [True]] Se especifica la lista seguido de la sublista (a[0]) se pone .insert y en los dos argumentos del insert van la posición en la sublista (en este caso la 0) y el valor a añadir. Espero que te haya servido mi respuesta. Cualquier duda ya sabes. ¡Saludos! :D
Encontré mi error, estaba agregando a[0][0].append(1000) y ahí estaría ingresando al lista del lista del lista, y no al lista del lista, y por eso me decía no existe esa dimensión, es como generar 3 dimensiones sin tener la 2
Dejo por aquí un ejemplo que estaba haciendo en casa, que es una tontería, pero usando clases y objetos dentro de listas, y el acceso a estos, por si a alguien le pudiera aclarar la duda... a mi la que me surgió era si se podían declarar objetos, pero siendo estos directamente items de una lista, sin el uso de variables intermedias... bueno, aquí lo pongo. @Programación Fácil, espero tus correcciones y comentarios. Un abrazo amigo ;) class Ejemplo: def __init__(self,nombre): self.__nombre = nombre def identificate(self): print(self.__nombre) Lista = [Ejemplo('Origen'), Ejemplo('Destino'), Ejemplo('Intermedio')] x = [Lista, 10, True] x[0].append(Ejemplo('Externo')) print(type(x[-1])) x[0][1].identificate()
Hola, no sé si entiendo exactamente lo que quieres hacer (me has pillado un poco flojo también lo tengo que decir jajaja). Creas una clase: class Ejemplo: def __init__(self,nombre): self.__nombre = nombre def identificate(self): print(self.__nombre) Después creas 3 objetos dentro de una lista: Lista = [Ejemplo('Origen'), Ejemplo('Destino'), Ejemplo('Intermedio')] Lo siguiente es otra lista (x) que contiene la lista anterior, un integer y un booleano: x = [Lista, 10, True] Aquí añades otro objeto a x, en la primera posición de "x" e imprimes el tipo de dato de la última posición (en este caso el booleano "True".) x[0].append(Ejemplo('Externo')) print(type(x[-1])) Devuelve esto: Y por último, accedes a "Lista" posición 1: x[0][1].identificate() Lo cuál equivale al objeto "Destino". A lo que entiendo de todo esto, es lo que dices, crear una lista con objetos sin utilizar variables y así, poder llamar al objeto con la posición de la lista y ahorrar líneas. Bueno, si no he mal interpretado tú idea, está perfecta y superando el nivel del curso incluso. Te dejo otra idea similar para que vayas practicando y viendo cosas diferentes. class Alumnos: def __init__(self, nombre, edad): self.nombre = nombre self.edad = edad lista = [] lista.append(Alumnos('Ana', 21)) lista.append(Alumnos('Juanjo', 38)) lista.append(Alumnos('Marga', 27)) for x in lista: print(x.nombre, x.edad) Sigue así, ¡un abrazo y a seguir dándole al código!
Programación Fácil claro. Lo viste rápido jejejeje tampoco uno es aún tan bueno, el profesor es mejor. Exactamente era eso, el usar una lista donde crear objetos sin usar variables y a su vez almacenar esta en otra lista con otros elementos, y desde la última operar con los objetos de la primera con la idea de ahorrar líneas de código y memoria. Un fuerte abrazo enorme amigo 😉
Muy interesante. Muchas gracias
Si tengo una lista anidada (2 dos o mas listas dentro de otra lista)
Como convierto todos los elementos de cada lista en una sola lista aparte que contenga todos los elementos juntos
Lo del método append y reverse en una sublista no lo sabía :o, se vé que todavía queda mucho por aprender 😆. Gracias por el vídeo, un saludo!.
Siempre quedan cosas por aprender 😄 qué bien que te sirva y hayas aprendido una cosa más.
¡Saludos amigo! 😁
y como podria eliminar un elemento que esta dentro de la sublista
Hola, una forma muy fácil de hacerlo es indicar el nombre junto a la posición de la sublista, en este caso la 2 y con esa posición indicas con pop() la posición dentro de la sublista.
lista = ["uno", "dos", ["tres", "cuatro"]]
lista[2].pop(0)
print(lista)
En este caso como seria usar el metodo "insert " para insertar un elemento en una posición definida dentro de la sublista?
a=[[10,100,1000],["texto1","texto2"],[True]]
en la posición a [0][1]
Hola, la sintaxis es un poco diferente con insert:
a=[[10,100,1000],["texto1","texto2"],[True]]
a[0].insert(2,500)
print(a)
Salida:
[[10, 100, 500, 1000], ['texto1', 'texto2'], [True]]
Se especifica la lista seguido de la sublista (a[0]) se pone .insert y en los dos argumentos del insert van la posición en la sublista (en este caso la 0) y el valor a añadir.
Espero que te haya servido mi respuesta. Cualquier duda ya sabes. ¡Saludos! :D
@@ProgramacionFacilYT si lo había pensado así ,solo que no había especificado el primer parámetro yo, gracias :3
Encontré mi error, estaba agregando a[0][0].append(1000) y ahí estaría ingresando al lista del lista del lista, y no al lista del lista, y por eso me decía no existe esa dimensión, es como generar 3 dimensiones sin tener la 2
Dejo por aquí un ejemplo que estaba haciendo en casa, que es una tontería, pero usando clases y objetos dentro de listas, y el acceso a estos, por si a alguien le pudiera aclarar la duda... a mi la que me surgió era si se podían declarar objetos, pero siendo estos directamente items de una lista, sin el uso de variables intermedias... bueno, aquí lo pongo.
@Programación Fácil, espero tus correcciones y comentarios. Un abrazo amigo ;)
class Ejemplo:
def __init__(self,nombre):
self.__nombre = nombre
def identificate(self):
print(self.__nombre)
Lista = [Ejemplo('Origen'), Ejemplo('Destino'), Ejemplo('Intermedio')]
x = [Lista, 10, True]
x[0].append(Ejemplo('Externo'))
print(type(x[-1]))
x[0][1].identificate()
Hola, no sé si entiendo exactamente lo que quieres hacer (me has pillado un poco flojo también lo tengo que decir jajaja).
Creas una clase:
class Ejemplo:
def __init__(self,nombre):
self.__nombre = nombre
def identificate(self):
print(self.__nombre)
Después creas 3 objetos dentro de una lista:
Lista = [Ejemplo('Origen'), Ejemplo('Destino'), Ejemplo('Intermedio')]
Lo siguiente es otra lista (x) que contiene la lista anterior, un integer y un booleano:
x = [Lista, 10, True]
Aquí añades otro objeto a x, en la primera posición de "x" e imprimes el tipo de dato de la última posición (en este caso el booleano "True".)
x[0].append(Ejemplo('Externo'))
print(type(x[-1]))
Devuelve esto:
Y por último, accedes a "Lista" posición 1:
x[0][1].identificate()
Lo cuál equivale al objeto "Destino".
A lo que entiendo de todo esto, es lo que dices, crear una lista con objetos sin utilizar variables y así, poder llamar al objeto con la posición de la lista y ahorrar líneas.
Bueno, si no he mal interpretado tú idea, está perfecta y superando el nivel del curso incluso.
Te dejo otra idea similar para que vayas practicando y viendo cosas diferentes.
class Alumnos:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
lista = []
lista.append(Alumnos('Ana', 21))
lista.append(Alumnos('Juanjo', 38))
lista.append(Alumnos('Marga', 27))
for x in lista:
print(x.nombre, x.edad)
Sigue así, ¡un abrazo y a seguir dándole al código!
Programación Fácil claro. Lo viste rápido jejejeje tampoco uno es aún tan bueno, el profesor es mejor. Exactamente era eso, el usar una lista donde crear objetos sin usar variables y a su vez almacenar esta en otra lista con otros elementos, y desde la última operar con los objetos de la primera con la idea de ahorrar líneas de código y memoria.
Un fuerte abrazo enorme amigo 😉
Pues muy bien pensado, todo lo que podamos ahorrar y optimizar es bienvenido. Un gran abrazo amigo :D
Programación Fácil Esa era la idea, ahorrar líneas de código y uso de variables... Usar el principio de menos es más... un fuerte abrazo!!!😉👍🏻