Îmi pare rău pentru această întrebare de bază, dar căutările mele pe aceasta nu sunt de cotitură altceva decât cum să obțineți un dicționar's-cheie bazat pe valoarea pe care aș prefera să nu utilizeze ca vreau pur și simplu text/numele de cheie și sunt îngrijorat de faptul că căutarea de valoare poate ajunge până se întorc de 2 sau mai multe chei, dicționarul are o mulțime de intrări... ceea ce încerc să fac este aceasta:
mydictionary={'keyname':'somevalue'}
for current in mydictionary:
result = mydictionary.(some_function_to_get_key_name)[current]
print result
"keyname"
Motivul pentru aceasta este că eu sunt de tipărire a unui document și vreau să folosesc nume de cheie și valoare în a face acest lucru
Am vazut metoda de mai jos, dar acest lucru pare să se întoarcă la cheie's valoare
get(key[, default])
Tu ar trebui să itera peste chei cu:
for key in mydictionary:
print "key: %s , value: %s" % (key, mydictionary[key])
motivul pentru aceasta este că eu sunt de tipărire a unui document și vreau să folosesc nume de cheie și valoare în a face acest lucru
Bazat pe cele de mai sus cerința aceasta este ceea ce vreau să sugerez:
keys = mydictionary.keys()
keys.sort()
for each in keys:
print "%s: %s" % (each, mydictionary.get(each))
Dacă dicționarul conține câte o pereche de genul asta:
d = {'age':24}
apoi, puteți obține la fel de
field, value = d.items()[0]
Pentru Python 3.5, face acest lucru:
key = list(d.keys())[0]
Ce fac eu uneori este nu de a crea un alt dicționar, doar pentru a fi capabil de orice simt că am nevoie pentru a accesa ca șir de caractere. Apoi repeta pe mai multe dicționare de chei potrivite pentru a construi de exemplu, o masă cu prima coloană ca descriere.
dict_names = {'key1': 'Text 1', 'key2': 'Text 2'}
dict_values = {'key1': 0, 'key2': 1}
for key, value in dict_names.items():
print('{0} {1}'.format(dict_names[key], dict_values[key])
Puteți face cu ușurință o cantitate mare de dicționare pentru a se potrivi de date (îmi place faptul că cu dicționar puteti referă întotdeauna la ceva bine cunoscut ca nume de cheie)
da, am folosi dictionare pentru a stoca rezultatele de funcții, astfel încât nu't nevoie pentru a rula aceste funcții de fiecare dată le spun doar o singură dată și apoi a avea acces la rezultatele oricând.
EDIT: la mine de exemplu tasta numele nu prea conteaza (eu personal ca folosind aceeași cheie de nume, deoarece este mai ușor pentru a merge alege o singură valoare din orice potrivire dicționare), doar asigurați-vă că numărul de chei în fiecare român este același
Puteți face acest lucru prin turnare dict chei și valori pentru a lista. Acesta poate fi, de asemenea, să fie făcut pentru articole.
Exemplu:
f = {'one': 'police', 'two': 'oranges', 'three': 'car'}
list(f.keys())[0] = 'one'
list(f.keys())[1] = 'two'
list(f.values())[0] = 'police'
list(f.values())[1] = 'oranges'
schimba cu ușurință poziția de chei și valori,atunci utilizarea valorilor pentru a obține cheia, în dicționar cheile pot avea aceeași valoare, dar ei(cheile) ar trebui să fie diferite. de exemplu, dacă aveți o listă și prima valoare este o cheie pentru problema ta și celelalte valori sunt specificatiile de prima valoare:
list1=["Name",'ID=13736','Phone:1313','Dep:pyhton']
puteți salva și de a folosi datele cu ușurință în Dicționar prin această buclă:
data_dict={}
for i in range(1, len(list1)):
data_dict[list1[i]]=list1[0]
print(data_dict)
{'ID=13736': 'Name', 'Phone:1313': 'Name', 'Dep:pyhton': 'Name'}
apoi, puteți găsi cheia(numele) de bază pe orice valoare de intrare.