how to goup items in a list of dictionaries by matching values ​​in python -


मेरे पास शब्दकोशों की एक सरणी है:

  dictionaty = [['' name ' : '' आग ',' कमांड ':' 1; 2; 3; 4 '}, {' नाम ':' मस्तिष्क ',' कमांड ':' 2; 2; 3; 4 '}, {' name ':' शब्द ',' कमांड ':' 1; 3; 4; 5 '}, {' नाम ':' सेलफोन ',' कमांड ':' 6; 1; 3; 4 '}, {' नाम ':' महासागर ' , 'कमांड': '9; 3; 7; 4'},  

मैं उन शब्दकोशों को कैसे प्राप्त करूं जिनके पास दूसरे और तीसरे मान के साथ ';' क्रमशः बराबर? उदाहरण के लिए: 'कमांड': '1; 2; 3; 4' बराबर है 'कमांड': '2; 2; 3; 4'

आप उपयोग कर सकते हैं आप लैम्ब्डा अभिव्यक्ति का निर्माण कर सकते हैं जो कि 'कमांड' कुंजी से संबंधित मान की खोज करती है, फिर [1] और पाता है [2] ';' चरित्र पर विभाजन के तत्व।

  d = [['' नाम ':' आग ',' कमांड ': '1; 2; 3; 4'}, {'नाम': 'मस्तिष्क', 'कमांड': '2; 2; 3; 4'}, {'नाम': 'शब्द', 'कमांड': '1 ; 3; 4; 5 '}, {' नाम ':' सेलफोन ',' कमांड ':' 6; 1; 3; 4 '}, {' नाम ':' महासागर ',' कमांड ':' 9; 3 ; 7; 4 '}] आयात itertools groups = itertools.groupby (d, लैम्ब्डा i: i [' command ']। विभाजित ('; ') [1: 3]) कुंजी के लिए, समूहों में समूह: प्रिंट (सूची ( समूह))  

आउटपुट

  [['' नाम ':' आग ',' कमांड ':' 1; 2; 3; 4 '}, {'नाम': 'मस्तिष्क', 'कमांड': '2; 2; 3; 4'}] [['नाम': 'शब्द', 'आज्ञा': '1; 3; 4; 5'}] [ {'नाम': 'सेलफोन', 'कमांड': '6; 1; 3; 4'}] [['नाम': 'महासागर', 'कमांड': '9; 3; 7; 4'}] < / कोड>  

एक से अधिक सदस्य वाले समूहों को खोजने के लिए, आपको एक और कदम की आवश्यकता है:

  कुंजी के लिए, समूहों में समूह: GroupList = सूची (समूह) अगर लेन (समूह सूची) & gt; 1: प्रिंट (समूह लिस्ट) [['कमांड': '1; 2; 3; 4', 'नाम': 'आग'}, {'कमांड': '2; 2; 3; 4', 'नाम' 'मस्तिष्क'}]  

Comments

Popular posts from this blog

winforms - C# Form - Property Change -

javascript - amcharts makechart not working -

java - Algorithm negotiation fail SSH in Jenkins -