python - Compare two list of tuples to create a new tuple containing highest values -


मेरे पास निम्न कोड है जो दो शब्दकोशों b और c > b से c की तुलना करने और सबसे ऊंचा पद लेने वाले उत्पाद को शामिल करने वाले d नाम से एक तिहाई बनाएं। >

  b = {1: 0,2: 0,3: 0,4: 0,5: 0} c = {1: 1,4: 4,5: 5} डी = {k: C [k] अगर c में c और c [k] & gt; b [k] दूसरे v के लिए k, v में b.items ()}  

हालांकि, क्योंकि शब्दकोशों को हल नहीं किया गया है b और c को उनकी तुलना करने से पहले ट्यूपल्स में कनवर्ट करने के लिए मुझे निम्न सिंटैक्स का उपयोग करना पड़ा, ताकि वे सही क्रम में हों:

  b = sorted (b.iteritems ()) c = sorted (c.iteritems ())  

यह एक आउटपुट उत्पन्न करता है:

  बी = [(1,0), (2,0), (3,0), (4,0), (5,0)] सी = [(1,1), (4,4), (5 , 5)]  

लेकिन अब मैं इस बात के बारे में अनिश्चित हूँ कि मैं कैसे दो ट्यूपल्स की तुलना कर सकता हूं और ऐसा आउटपुट तैयार कर सकता हूं:

d = [(1, 1), (2,0), ( 3,0), (4,4), (5,5)]

पायथन 2.7 में एक ट्यूपल की समझ उपलब्ध नहीं है, जब तक कि मैं सही स्थानों में जवाब नहीं ढूंढ पाया ।

क्या कोई सहायता कर सकता है?

आप एक लाइनर जोड़ सकते हैं (अंतिम लाइन) ऊपरी कोड स्निपेट में:

  b = {1: 0,2: 0,3: 0,4: 0,5: 0} c = {1: 1,4: 4, 5: 5} डी = {k: c [k] अगर k में c और c [k] & gt; b [k] अन्य v के लिए k, v in b.items ()} प्रिंट [(k, v) के लिए, v। D.items ()] # [(1, 1), (2, 0), (3, 0), (4, 4), (5, 5)]  

Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -