Saturday, 15 May 2010

python - Locating specific keys and corresponding values in dictionary -


मैंने निम्न कोड का कोड लिखा है:

  def all_di (fl): dmm = {} श्रेणी में (2): के लिए मी में: में मीटर के लिए सीमा (लेन (i) -1): temp = i [m: m + k + 1] अगर अस्थायी रूप से dmm: dmm [temp] + = 1.0 अन्य: डीएमएम [temp] = 1.0 ## रिटर्न dmm p = raw_input ("2 एए लंबी सीक प्रविष्ट करें:") sum = 0 x, y में dmm.iteritems (): यदि x == p: n1 = Y के लिए एल, एम में dmm.iteritems (): अगर एल [0] == पी [0]: sum = sum + m प्रिंट फ्लोट (एन 1) / फ्लोट (योग) all_di (inh)   <पी> यदि इन्ह =  {'VE': 16, 'GF': 19, 'VF': 23, 'जीजी': 2}   

कोड के रूप में काम करता है इस प्रकार है:

  2 एए लंबी सीक दर्ज करें: वीई   

परिणाम होगा = 16 / (16 + 23) = 0.41

यह कैसे काम करता है: समारोह इनपुट में दर्ज किए गए कुंजी के समान शब्दकोश के लिए शब्दकोश dmm खोजता है उदाहरण यहां लिया गया 'वीई')। यह इसके मान को संग्रहित करता है और फिर सभी कुंजी-मूल्य जोड़े के लिए खोज करता है जिनके पास आम में पहला अक्षर होता है और इसके सभी मान जोड़ता है और एक अंश देता है।

  VE = 16 ** V ** E + ** वी ** एफ = 39 = 16/39 = 0.41   

मुझे क्या चाहिए: फ़ंक्शन को बरकरार रखते हुए, मैं एक माध्यमिक शब्दकोश रखना चाहता हूं जो कि हर प्रमुख-मूल्य जोड़ी के लिए पुनरावृत्त करता है डिक्शनरी में और उस के आंशिक मूल्यों को एक अलग शब्दकोश में संग्रहीत करता है जैसे कि:

  new_dict = {'VE': 0.41, 'GF': 0.90, 'VF': 0.51, 'जीजी ': 0.09}   

मैं प्रिंट कथन को हटाना नहीं चाहता क्योंकि यह मेरे प्रोग्राम के लिए आउटपुट है। मुझे इसके बाद के कार्य के लिए new_dict की आवश्यकता है।

  def all_di (Fl, p = 0): dmm = {} interactive = p == 0 यदि इंटरेक्टिव: p = raw_input ("2 एए लंबी सीक प्रविष्ट करें") अगर पी में fl: numer = fl [p] denom = 0.0 टी: [टी] [0] == पी [0]: denom = denom + fl [t] यदि इंटरैक्टिव: प्रिंट संख्या / denom return numer / denom inh = {'VE': 16, 'GF': 19, 'VF': 23, 'जीजी': 2} all_di (inh) new_dict = {x: all_di (inh, x) inh में) प्रिंट new_dict    

No comments:

Post a Comment