Desculpe por esta pergunta básica, mas minhas pesquisas não estão mostrando nada além de como obter a chave de um dicionário com base em seu valor que eu preferiria não usar, pois simplesmente quero o texto / nome da chave e estou preocupado com a pesquisa. por valor pode acabar retornando 2 ou mais chaves se o dicionário tiver muitas entradas ... o que estou tentando fazer é o seguinte:
mydictionary={'keyname':'somevalue'}
for current in mydictionary:
result = mydictionary.(some_function_to_get_key_name)[current]
print result
"keyname"
A razão para isso é que estou imprimindo isso em um documento e quero usar o nome da chave e o valor para fazer isso
Eu vi o método abaixo, mas isso parece retornar apenas o valor da chave
get(key[, default])
python
dictionary
key
Rick
fonte
fonte
current
é a chave atual, basta fazerprint current
Respostas:
Você deve iterar sobre as chaves com:
fonte
for key in mydictionary:
print (f"key: {key}, value: {mydictionary[key]}")
Se você deseja imprimir chave e valor, use o seguinte:
fonte
Com base no requisito acima, é isso que eu sugeriria:
fonte
my_dict.item()
ou a compreensão da lista,keys = list(my_dict.keys)
mas apenas no caso de alguém querer fazer isso no Python 3: (linha 2)keys = sorted(my_dict.keys())
+ add () para imprimir.Se o dicionário contiver um par como este:
então você pode obter o máximo
Para Python 3.5, faça o seguinte:
fonte
TypeError: 'dict_items' object does not support indexing
key = list(d.keys())[0]
next()
é melhor de acordo com: stackoverflow.com/a/27638751/1488445keys=[i for i in mydictionary.keys()]
oukeys = list(mydictionary.keys())
fonte
Tão simples como isso:
Você modificará seu dicionário e deverá fazer uma cópia dele primeiro
fonte
Você pode simplesmente usar o
*
que descompacta as chaves do dicionário. Exemplo:fonte
A iteração no dicionário (i) retornará a chave e, em seguida, a utilizará (i) para obter o valor
fonte
Para python 3 Se você deseja obter apenas as chaves, use isso. Substitua print (key) por print (values), se desejar.
fonte
O que às vezes faço é criar outro dicionário apenas para poder o que achar necessário para acessar como string. Então eu itero sobre vários dicionários que combinam chaves para criar, por exemplo, uma tabela com a primeira coluna como descrição.
Você pode facilmente fazer com que uma enorme quantidade de dicionários corresponda aos dados (eu gosto do fato de que, com o dicionário, você sempre pode se referir a algo conhecido como nome da chave)
sim, eu uso dicionários para armazenar resultados de funções, para que eu não precise executar essas funções toda vez que eu as chamo apenas uma vez e depois acesso os resultados a qualquer momento.
EDIT: no meu exemplo, o nome da chave realmente não importa (eu pessoalmente gosto de usar os mesmos nomes de chave, pois é mais fácil escolher um único valor em qualquer um dos meus dicionários correspondentes), apenas verifique se o número de chaves em cada dicionário é o mesmo
fonte
Você pode fazer isso lançando as chaves e valores do dict para listar. Também pode ser feito para itens.
Exemplo:
fonte
altere facilmente a posição de suas chaves e valores e use valores para obter a chave. No dicionário, as chaves podem ter o mesmo valor, mas elas (chaves) devem ser diferentes. por exemplo, se você possui uma lista e o primeiro valor dela é a chave do seu problema e outros valores são as especificações do primeiro valor:
você pode salvar e usar os dados facilmente no Dicionário por este loop:
então você pode encontrar a base da chave (nome) em qualquer valor de entrada.
fonte