Thursday 15 April 2010

python - Intersect dictionaries with keys averaged -


यदि मेरे पास यह शब्दकोश है:

a = {'अल्फा': 12, बीटा ': 13,' गामा ': 14}

और यह एक:

b = {' औरोरा ': 19,' बीटा: 14 ' , 'गामा': 1 9}

और यह एक:

सी = {'बीटा': 11, 'गामा': 20}

मैं कैसे चाबियाँ कैसे प्रतिच्छेद करूँगा जैसे कि दिए गए शब्दकोशों में मानों के औसत के रूप में परिणामी शब्दकोश में मूल्य होगा।

उदाहरण के लिए:

एक दूसरे को काटना ([a, b, c]) - & gt; { 'बीटा': १२.६६६६६६६६६७, 'गामा': १७.६६६६६६६६६७}

 <कोड> डीईएफ़ (dicts) एक दूसरे को काटना: common_keys = को कम (set.intersection, नक्शे (सेट, dicts)) num = नाव (लेन (dicts)) वापसी {k: (dicts में घ के लिए घ [k]) राशि / common_keys में कश्मीर के लिए संख्या }   

उदाहरण:

  & gt; & gt; & gt; ए = {'अल्फा': 12, 'बीटा': 13, 'गामा': 14}> gt; & gt; बी = {'औरोरा': 1 9, 'बीटा': 14, 'गामा': 1 9}> gt; & gt; सी = {'बीटा': 11, 'गामा': 20}> & gt; & gt; एक दूसरे को काटना ([क, ख, ग]) { 'बीटा': 12.666666666666666, 'गामा': 17.666666666666668}   

आप इसे की तरह कॉल करने के लिए सक्षम होने के लिए चाहते हैं, तो एक दूसरे को काटना (क , बी, सी) उन्हें एक सूची में लपेटने की आवश्यकता के बजाय, बस def लाइन को डीएफ़ intersect (* dicts) में परिवर्तित करें (शरीर रह सकता है बिल्कुल वैसा ही)।

No comments:

Post a Comment