Mezclar una lista es una tarea importante en la programaci n de Python. Esto puede ser til cuando necesita reordenar aleatoriamente los elementos de una lista o crear una selecci n aleatoria de sus elementos. En este art culo, veremos algunas formas simples de mezclar una lista y proporcionaremos ejemplos de c digo.
Una de las formas m s f ciles de mezclar una lista es usar la funci n random.shuffle() del m dulo random. Esta funci n cambia el orden de los elementos de la lista al azar. Aqu hay un ejemplo de uso:
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)
Este c digo generar una lista aleatoria. Tenga en cuenta que la funci n shuffle() modifica la lista en s , por lo que no debe asignarle el resultado a una variable.
Si necesita crear una selecci n aleatoria de elementos de la lista, es til usar la funci n random.sample(). Esta funci n devuelve una nueva lista que consiste en elementos seleccionados al azar de la lista original. Aqu hay un ejemplo de uso:
Este c digo crear una nueva lista con 3 elementos seleccionados al azar de la lista original.
- C mo mezclar una lista de python
- Formas simples y ejemplos de c digo
- M todo 1: Usar la funci n random.shuffle()
- M todo 2: Usar la funci n random.sample()
- M todo 3: Uso de la funci n numpy.random.shuffle()
- Pregunta-respuesta
- C mo se pueden mezclar los elementos de la lista en Python?
- Es posible mezclar una lista sin cambiar la lista original?
- Qu otras formas de mezclar una lista existen en Python?
- Es posible mezclar solo una parte de la lista? Por ejemplo, solo los primeros 3 elementos?
- Es posible mezclar una lista de cadenas?
- Es posible mezclar una lista solo si hay al menos un elemento en ella?
C mo mezclar una lista de python
La mezcla de la lista es posible utilizando la funci n random.shuffle () del m dulo random en Python. Esta funci n baraja los elementos de la lista en orden aleatorio. Por ejemplo:
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)
El resultado de la ejecuci n del programa puede verse as :
[5, 3, 2, 4, 1]
Funci n random.shuffle() modifica la lista original, por lo que la mezcla se realizar "in situ". Si no desea modificar la lista original, puede utilizar la funci n random.sample () que devuelve una nueva lista con elementos mezclados:
import random
my_list = [1, 2, 3, 4, 5]
shuffled_list = random.sample(my_list, len(my_list))
print(shuffled_list)
El resultado de la ejecuci n del programa ser similar:
[5, 4, 1, 3, 2]
Tambi n puede utilizar el m todo list.sort () para mezclar la lista. Sin embargo, a diferencia de los m todos anteriores, este m todo ordena la lista en orden ascendente. Para que la lista se mezcle al azar, debe mezclar previamente los elementos de la lista:
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
my_list.sort()
print(my_list)
El resultado de la ejecuci n del programa puede ser el siguiente:
[1, 3, 2, 4, 5]
Para terminar, solo tiene que elegir el m todo m s adecuado para mezclar la lista seg n sus necesidades y preferencias. Todos estos m todos son bastante efectivos y f ciles de usar.
Formas simples y ejemplos de c digo
Hay algunas maneras f ciles de mezclar una lista en Python. Estos son algunos de ellos:
- random.sample () se usa para crear una nueva lista aleatoria shuffledList basada en la lista mylist original.
import random
myList = [1, 2, 3, 4, 5]
slicedList = myList[:]
print(slicedList)
Este c digo primero baraja la lista myList usando la funci n random.shuffle(). A continuaci n, crea una rebanada de la lista myList con la instrucci n slicing y la almacena en la variable slicedList. El resultado se muestra en la pantalla.
Ahora tiene algunas formas simples de mezclar una lista en Python. Elija el que m s le convenga seg n su proyecto y requisitos.
M todo 1: Usar la funci n random.shuffle()
Si necesita mezclar una lista en Python, puede aprovechar la funci n random.shuffle () del m dulo random. Este m todo cambia aleatoriamente el orden de los elementos de la lista.
Ejemplo de uso de la funci n random.shuffle():
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)
Como resultado de la ejecuci n de este c digo, se mostrar una lista aleatoria:
[5, 2, 1, 4, 3]
En este ejemplo, la lista
[1, 2, 3, 4, 5]
se mezcl aleatoriamente con la funci n random.shuffle().
Adem s, vale la pena se alar que la funci n random.shuffle () modifica la lista en s , en lugar de crear una nueva lista. Si necesita crear una nueva lista aleatoria, puede usar el m todo random.sample().
M todo 2: Usar la funci n random.sample()
La segunda forma de mezclar una lista en Python es usar la funci n random.sample(). Esta funci n le permite seleccionar elementos aleatorios de una lista sin repeticiones.
Ejemplo de uso:
En este ejemplo, importamos el m dulo random, creamos una lista my_list con n meros del 1 al 5 y usamos la funci n random.sample () para mezclar elementos de la lista. El resultado se guarda en la variable shuffled_list. A continuaci n, mostramos una lista aleatoria.
Funci n random.sample () toma dos argumentos: la lista y el n mero de elementos que se seleccionar n. En este caso, especificamos len (my_list) para seleccionar todos los elementos de la lista.
Sin embargo, debe tenerse en cuenta que la funci n es random.sample () selecciona elementos sin repeticiones, por lo que si intenta seleccionar m s elementos de los que hay en la lista, se producir un error. Si desea mezclar una lista con repeticiones, puede usar la funci n random.choices().
M todo 3: Usar la funci n numpy.random.shuffle()
Hay muchas formas de mezclar una lista en Python, y una de las m s eficientes y convenientes es usar la funci n numpy.random.shuffle() de la biblioteca NumPy.
Numpy (Numerical Python) es una biblioteca que proporciona soporte para matrices multidimensionales y operaciones sobre ellas. Funci n numpy.random.shuffle () le permite mezclar elementos de la lista al azar sin tener que implementar manualmente este proceso.
Para usar la funci n numpy.random.shuffle (), debe importar el m dulo correspondiente:
import numpy as np
A continuaci n, puede crear una lista con los elementos:
my_list = [1, 2, 3, 4, 5]
Y aplicar la funci n numpy.random.shuffle():
np.random.shuffle(my_list)
Despu s de ejecutar este comando, los elementos de la lista se mezclar n aleatoriamente:
[2, 4, 1, 5, 3]
Funci n numpy.random.shuffle () modifica la lista en su lugar, sin tener que crear una nueva lista aleatoria. Esto ahorra memoria y mejora el rendimiento del programa.
Si desea mantener la lista original y obtener la lista mezclada por separado, puede usar la funci n numpy.random.permutation():