Como Selecionar um Item Aleatório de uma Lista em Python?

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com listas em Python, você pode se deparar com a necessidade de selecionar um item aleatoriamente. Isso pode ser útil em uma variedade de cenários, como criar um jogo, selecionar uma amostra aleatória para análise estatística ou simplesmente decidir o que comer no jantar a partir de uma lista de opções. Neste post, vamos explorar como selecionar um item aleatório de uma lista usando os módulos da biblioteca padrão do Python.

Roleta de cassino, capaz de selecionar um número aleatório.

Usando random.choice() Para Selecionar um Item Aleatório

A maneira mais simples de selecionar um item aleatório de uma lista é usar a função random.choice() do módulo random. Veja como você pode fazer isso:

import random

minha_lista = ['a', 'b', 'c', 'd', 'e']
valor = random.choice(minha_lista)
print(valor)
Testar

O código acima seleciona e exibe um único elemento aleatório da lista minha_lista.

Selecionando Múltiplos Itens Aleatórios

Se seu objetivo é selecionar mais de um item aleatório, random.sample() é a função que você está procurando:

import random

grupo_de_itens = ['a', 'b', 'c', 'd', 'e']
num_para_selecionar = 2

itens_aleatorios = random.sample(grupo_de_itens, num_para_selecionar)
print(itens_aleatorios)
Testar

Este trecho de código selecionará dois itens aleatórios únicos do conjunto grupo_de_itens.

Obtendo um Índice Aleatório a Partir de uma Lista

Às vezes, você pode apenas precisar do índice do item selecionado aleatoriamente. Nesse caso, você pode usar random.randrange():

from random import randrange

foo = ['a', 'b', 'c', 'd', 'e']
indice_aleatorio = randrange(len(foo))
print(indice_aleatorio)
Testar

Isso lhe dará tanto o índice aleatório, através do qual você pode pegar o elemento aleatório com minha_lista[indice_aleatorio].

Selecionar um Item Aleatório de Forma Segura

Se você precisa de uma escolha aleatória que seja criptograficamente segura (para gerar uma senha a partir de uma lista de palavras, por exemplo) você deve usar a função secrets.choice():

import secrets

minha_lista = ['bateria', 'correto', 'cavalo', 'grampo']
valor = secrets.choice(minha_lista)
print(valor)
Testar

O módulo secrets está disponível no Python a partir da versão 3.6. Se você estiver usando uma versão mais antiga do Python, pode alcançar um resultado semelhante com a classe random.SystemRandom:

import random

secure_random = random.SystemRandom()

minha_lista = ['bateria', 'correto', 'cavalo', 'grampo']
valor = secure_random.choice(minha_lista)
print(valor)
Testar

Resumo

Neste post, cobrimos como selecionar aleatoriamente itens de uma lista ou conjunto usando os módulos random e secrets do Python. Vimos como escolher um único item com random.choice() e secrets.choice(), selecionar múltiplos itens com random.sample() e até mesmo recuperar um índice aleatório com random.randrange(). Essas ferramentas são essenciais para qualquer programador Python e podem ser aplicadas em uma ampla gama de cenários.

Lembre-se de escolher o método que melhor se adapta às suas necessidades, seja pela simplicidade, seleções múltiplas ou segurança criptográfica.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: