2012-04-10 6 views
7

मैं एक शब्दकोशएक शब्दकोश में गणना कुंजी?

Dict = {'ALice':1, 'in':2, 'Wonderland':3} 

है मैं कुंजी मान वापस जाने के लिए लेकिन वहाँ कुंजी नाम वापस जाने के लिए कोई रास्ता नहीं था तरीके खोजने सकता है।

Alice 
in 
Wonderland 
+0

मुझे प्रलोभन दिया जा सकता है कि इसे मूल्य-कुंजी जोड़े की उचित सूची में बदल दें और फिर इस उदाहरण में मूल्य के आधार पर क्रमबद्ध करें और फिर पुनरावृत्त करें। (याद रखें कि शब्दकोश में कुंजी * नहीं * आदेशित हैं।) –

+0

ऑर्डरिंग मेरे लिए कोई समस्या नहीं है। मुझे एक विशिष्ट क्रम में इसकी आवश्यकता नहीं है। मैं बस SQL ​​डेटाबेस में प्रमुख नाम दर्ज करने की कोशिश कर रहा हूँ। – upapilot

उत्तर

13

आप .keys() उपयोग कर सकते हैं:

for key in your_dict.keys(): 
    print key 

या सिर्फ शब्दकोश से अधिक पुनरावृति:

मैं अजगर उदाहरण के लिए कदम (पाश के लिए) द्वारा शब्दकोश प्रमुख नामों कदम वापस करना चाहते

for key in your_dict: 
    print key 

ध्यान दें कि शब्दकोशों का आदेश नहीं दिया गया है। आपकी परिणामी कुंजी कुछ हद तक एक यादृच्छिक क्रम में सामने आएगा:

['Wonderland', 'ALice', 'in'] 

आप के बारे में परवाह है, तो एक समाधान होगा सूचियों का उपयोग करने के लिए है, जो हैं आदेश दिया:

sort_of_dict = [('ALice', 1), ('in', 2), ('Wonderland', 3)] 

for key, value in sort_of_dict: 
    print key 

अब आपको वांछित परिणाम मिलते हैं:

>>> sort_of_dict = [('ALice', 1), ('in', 2), ('Wonderland', 3)] 
>>> 
>>> for key, value in sort_of_dict: 
... print key 
... 
ALice 
in 
Wonderland 
+0

हाँ, मैं उसमें संपादन कर रहा था। धन्यवाद! – Blender

+1

'your_dict.keys() में कुंजी के लिए:' आपके_डिक्ट में कुंजी के लिए 'सरलीकृत किया जा सकता है:' –

+0

ठीक है बहुत बहुत धन्यवाद। आदेश मेरे लिए कोई समस्या नहीं है :) – upapilot

1

dict में एक कुंजी() विधि है।

Dict.keys() कुंजी की एक सूची वापस कर देगा, या iterator विधि iterkeys() का उपयोग करेगा।

1
def enumdict(listed): 
    myDict = {} 
    for i, x in enumerate(listed): 
     myDict[x] = i 

    return myDict 

indexes = ['alpha', 'beta', 'zeta'] 

print enumdict(indexes) 

प्रिंट: { 'अल्फा': 0, 'बीटा': 1, 'जीटा': 2}

संपादित करें: अगर आप चाहते हैं dict आदेश दिया जा करने के लिए उपयोग ordereddict।

+0

प्रश्न का बिल्कुल जवाब नहीं है, लेकिन मैं उत्साहित हूं क्योंकि यह आसान चाल है। – ardochhigh