O método choices() retorna vários elementos aleatórios da lista com substituição. Você pode pesar a possibilidade de cada resultado com o weightsparâmetro ou o cum_weightsparâmetro. Os elementos podem ser uma string, um intervalo, uma lista, uma tupla ou qualquer outro tipo de sequência.

Sintaxe: random.choices (seqüência, pesos = Nenhum, cum_weights = Nenhum, k = 1)

Parâmetros:
1. seqüência é um parâmetro obrigatório que pode ser uma lista, tupla ou string.
2. pesos é um parâmetro opcional que é usado para ponderar a possibilidade de cada valor.
3. cum_weights é um parâmetro opcional que é usado para pesar a possibilidade de cada valor, mas neste a possibilidade é acumulada
4. k é um parâmetro opcional que é usado para definir o comprimento da lista retornada.

Observação: esse método é diferente de random.choice().

Exemplo:



import random 
  
mylist = ["geeks", "for", "python"] 
  
print(random.choices(mylist, weights = [10, 1, 1], k = 5)) 

Nota: Cada vez que a saída será diferente, o sistema retorna elementos aleatórios.
Resultado:

['geeks', 'geeks', 'geeks', 'para', 'para']

Aplicação prática: Imprimir uma lista aleatória com 6 itens.

import random 
  
mylist = ["apple", "banana", "mango"] 
  
print(random.choices(mylist, weights = [10, 1, 1], k = 6)) 

Nota: A saída muda sempre que a função escolhas() é usada.
Resultado:

['maçã', 'banana', 'maçã', 'maçã', 'maçã', 'banana']