1
resposta

Acesso aleatório de chave num dicionário

Olá!

Com o pedido de adicionar um dicionário na classe Conta, me surgiu uma dúvida sobre acesso das chaves no dicionário:

Há alguma forma de acessar aleatoriamente as chaves de um dicionário?

Tentei fazer um acesso via index mas não deu certo. Por conta disso, criei uma lista para guardar as chaves do dicionário e depois selecionar algum index aleatório que é válido na lista.

Além da solução que tive, há outra maneira mais eficiente para resolver esse problema?

from random import randrange

dicio_bancos = {
    'BANCO DO BRASIL' : 1, 'BRADESCO' : 237, 'NUBANK' : 260, 'PICPAY' : 380, 'ITAU' : 341,
    'INTER' : 77, 'SANTADER' : 33, 'CAIXA': 104
}

lista_bancos = []
for chaves in dicio_bancos :
    lista_bancos.append(chaves)

banco_aleatorio = lista_bancos[randrange(0, len(lista_bancos) ) ]
print(f' {banco_aleatorio} - {dicio_bancos[ banco_aleatorio ]:03d}')
1 resposta

Puramente com dicionário não vai ter um método que te resolva isso. No seu código poderia usar list comprehension para aquele for simples ali, mas isso você deve saber.