""
Mostrando las entradas con la etiqueta listas. Mostrar todas las entradas
Mostrando las entradas con la etiqueta listas. Mostrar todas las entradas

domingo, 5 de julio de 2026

Python I. Ordenamiento de listas

 Fuente:edube.org

Ordenamiento Burbuja

Ahora que puedes hacer malabarismos con los elementos de las listas, es hora de aprender como ordenarlos. Se han inventado muchos algoritmos de clasificación, que difieren mucho en velocidad, así como en complejidad. Vamos a mostrar un algoritmo muy simple, fácil de entender, pero desafortunadamente, tampoco es muy eficiente. Se usa muy raramente, y ciertamente no para listas extensas.

Digamos que una lista se puede ordenar de dos maneras:

  • Ascendente (o más precisamente, no descendente): si en cada par de elementos adyacentes, el primer elemento no es mayor que el segundo.
  • Descendente (o más precisamente, no ascendente): si en cada par de elementos adyacentes, el primer elemento no es menor que el segundo.

En las siguientes secciones, ordenaremos la lista en orden ascendente, de modo que los números se ordenen de menor a mayor.

Aquí está la lista:

8
10
6
2
4

Intentaremos utilizar el siguiente enfoque: tomaremos el primer y el segundo elemento y los compararemos; si determinamos que están en el orden incorrecto (es decir, el primero es mayor que el segundo), los intercambiaremos; Si su orden es válido, no haremos nada. Un vistazo a nuestra lista confirma lo último: los elementos 01 y 02 están en el orden correcto, así como 8<10.

Ahora observa el segundo y el tercer elemento. Están en las posiciones equivocadas. Tenemos que intercambiarlos:

8
6
10
2
4

Vamos más allá y observemos los elementos tercero y cuarto. Una vez más, esto no es lo que se supone que es. Tenemos que intercambiarlos:

8
6
2
10
4

Ahora comprobemos los elementos cuarto y quinto. Si, ellos también están en las posiciones equivocadas. Ocurre otro intercambio:

8
6
2
4
10

El primer paso a través de la lista ya está terminado. Todavía estamos lejos de terminar nuestro trabajo, pero algo curioso ha sucedido mientras tanto. El elemento más grande, 10, ya ha llegado al final de la lista. Ten en cuenta que este es el lugar deseado para el. Todos los elementos restantes forman un lío pintoresco, pero este ya está en su lugar.

Ahora, por un momento, intenta imaginar la lista de una manera ligeramente diferente, es decir, de esta manera:

10
4
2
6
8

Observa - El 10 está en la parte superior. Podríamos decir que flotó desde el fondo hasta la superficie, al igual que las burbujas en una copa de champán. El método de clasificación deriva su nombre de la misma observación: se denomina ordenamiento de burbuja.

Ahora comenzamos con el segundo paso a través de la lista. Miramos el primer y el segundo elemento, es necesario un intercambio:

6
8
2
4
10

Tiempo para el segundo y tercer elemento: también tenemos que intercambiarlos:

6
2
8
4
10

Ahora el tercer y cuarto elementos, y la segunda pasada, se completa, ya que 8 ya está en su lugar:

6
2
4
8
10

Comenzamos el siguiente pase inmediatamente. Observe atentamente el primer y el segundo elemento: se necesita otro cambio:

2
6
4
8
10

Ahora 6 necesita ir a su lugar. Cambiamos el segundo y el tercer elemento:

2
4
6
8
10

La lista ya está ordenada. No tenemos nada más que hacer. Esto es exactamente lo que queremos.

Como puedes ver, la esencia de este algoritmo es simple: comparamos los elementos adyacentes y, al intercambiar algunos de ellos, logramos nuestro objetivo.

Codifiquemos en Python todas las acciones realizadas durante un solo paso a través de la lista, y luego consideraremos cuántos pases necesitamos para realizarlo. No hemos explicado esto hasta ahora, pero lo haremos pronto.

Ordenando una lista

¿Cuántos pases necesitamos para ordenar la lista completa?

Resolvamos este problema de la siguiente manera: introducimos otra variable, su tarea es observar si se ha realizado algún intercambio durante el pase o no. Si no hay intercambio, entonces la lista ya está ordenada, y no hay que hacer nada más. Creamos una variable llamada swapped, y le asignamos un valor de False para indicar que no hay intercambios. De lo contrario, se le asignará True.

>>my_list = [8, 10, 6, 2, 4]  # lista a ordenar

>>for i in range(len(my_list) - 1):  # necesitamos (5 - 1) comparaciones

>>    if my_list[i] > my_list[i + 1]:  # compara elementos adyacentes

>>        my_list[i], my_list[i + 1] = my_list[i + 1], my_list[i]  # Si terminamos aquí, tenemos que intercambiar elementos.

Deberías poder leer y comprender este programa sin ningún problema:

>>my_list = [8, 10, 6, 2, 4]  # lista a ordenar

>>swapped = True  # Lo necesitamos verdadero (True) para ingresar al bucle while.

>>while swapped:

>>    swapped = False  # no hay intercambios hasta ahora

>>   for i in range(len(my_list) - 1):

>>       if my_list[i] > my_list[i + 1]:

 >>          swapped = True  # ¡ocurrió el intercambio!

 >>           my_list[i], my_list[i + 1] = my_list[i + 1], my_list[i]

>>print(my_list)

>>>

[2, 4, 6, 8, 10]















sábado, 4 de abril de 2026

W3Schools. Listas

 Python Listas


mylist = ["apple", "banana", "cherry"]

Lista

Las listas se utilizan para almacenar varios elementos en una sola variable.

Las listas son uno de los 4 tipos de datos integrados en Python que se utilizan para almacenar colecciones de datos, los otros 3 son Tupla, Set, y Diccionario, todos con diferentes cualidades y usos.

Las listas se crean utilizando corchetes:

EjemploConsigue tu propio servidor Python

Creați o listă:

thislist = ["apple", "banana", "cherry"]
print(thislist)

Lista de elementos

Los elementos de la lista están ordenados, se pueden cambiar y permiten valores duplicados.

Los elementos de la lista están indexados, el primer elemento tiene índice [0], El segundo elemento tiene índice [1] etc.


Ordenado

Cuando decimos que las listas están ordenadas, significa que los elementos tienen un orden definido y ese orden no cambiará.

Si agrega nuevos elementos a una lista, Los nuevos elementos se colocarán al final de la lista.

Nota: Hay algunos métodos de lista eso cambiará el orden, pero en general: el orden de los artículos no cambiará.


Cambiable

La lista se puede cambiar, lo que significa que podemos cambiar, agregar y eliminar elementos de una lista después de haberla creado.


Permitir duplicados

Dado que las listas están indexadas, las listas pueden tener elementos con el mismo valor:

Ejemplo

Las listas permiten valores duplicados:

thislist = ["apple", "banana", "cherry", "apple", "cherry"]
print(thislist)



Longitud de la lista

Para determinar cuántos elementos tiene una lista, utilice el len() función:

Ejemplo

Imprima el número de elementos de la lista:

thislist = ["apple", "banana", "cherry"]
print(len(thislist))

Elementos de la lista: tipos de datos

Los elementos de la lista pueden ser de cualquier tipo de datos:

Ejemplo

Tipos de datos de cadena, int y booleanos:

list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]

Una lista puede contener diferentes tipos de datos:

Ejemplo

Una lista con cadenas, números enteros y valores booleanos:

list1 = ["abc", 34, True, 40, "male"]

tipo()

Desde la perspectiva de Python, las listas se definen como objetos con el tipo de datos 'lista':

<class 'list'>

Ejemplo

¿Cuál es el tipo de datos de una lista?

mylist = ["apple", "banana", "cherry"]
print(type(mylist))

El constructor list()

También es posible utilizar el lista() constructor al crear un nueva lista.

Ejemplo

Usando el list() constructor para hacer una Lista:

thislist = list(("apple", "banana", "cherry")) # note the double round-brackets
print(thislist)

Colecciones de Python (matrices)

Hay cuatro tipos de datos de recopilación en el lenguaje de programación Python:

  • Lista es una colección ordenada y modificable. Permite miembros duplicados.
  • Tupla es una colección ordenada e inmutable. Permite miembros duplicados.
  • Set es una colección desordenada, inmutable* y no indexado. Sin miembros duplicados.
  • Diccionario es una colección que está ordenada** y cambiable. Sin miembros duplicados.

*Establecer artículos son inmutables, pero puedes eliminar y/o agregar elementos Cuando quieras.

**A partir de la versión 3.7 de Python, los diccionarios son ordenado. En Python 3.6 y versiones anteriores, los diccionarios son desordenado.

Al elegir un tipo de colección, es útil comprender las propiedades de ese tipo. Elegir el tipo correcto para un conjunto de datos particular podría significar la retención de significado y podría significar un aumento en la eficiencia o la seguridad.


Ejercicio?

¿Cuál será el resultado de la siguiente sintaxis:
mylist = ['apple', 'banana', 'cherry']
print(mylist[1])




3.4.13 QUIZ DE SECCIÓN (listas)

 Pregunta 1: ¿Cuál es el resultado del siguiente fragmento de código?

lst = [1, 2, 3, 4, 5]
lst.insert(1, 6)
del lst[0]
lst.append(1)
 
print(lst)
 
[6, 2, 3, 4, 5, 1]

Pregunta 2: ¿Cuál es el resultado del siguiente fragmento de código?

lst = [1, 2, 3, 4, 5]
lst_2 = []
add = 0
 
for number in lst:
    add += number
    lst_2.append(add)
 
print(lst_2)
 
[1, 3, 6, 10, 15]

Pregunta 3: ¿Cuál es el resultado del siguiente fragmento de código?

lst = []
del lst
print(lst)
 
NameError: name 'lst' is not defined

Pregunta 4: ¿Cuál es el resultado del siguiente fragmento de código?

lst = [1, [2, 3], 4]
print(lst[1])
print(len(lst))
 
[2, 3]
3

Entradas recientes

¿Existen herramientas para RCA (Root Cause Analysis) en Python?

Fuente: Gemini IA.  Sí, existen librerías especializadas en Python para realizar análisis de causa raíz (Root Cause Analysis o RCA), especi...

Entradas Populares