मान लीजिए कि हमारे पास एक सरणी संख्या है, जहां प्रत्येक अंक [i] में तीन तत्व होते हैं [type_i, color_i, name_i]। ये ith आइटम के प्रकार, रंग और नाम का वर्णन कर रहे हैं। हमारे पास दो अन्य स्ट्रिंग्स, रूलकी और रूलवैल्यू द्वारा दर्शाया गया एक नियम भी है। अब हम कह सकते हैं कि ith आइटम नियम से मेल खाता है यदि निम्न में से कोई एक सत्य है -
-
रूलकी ="टाइप" और रूलवैल्यू =टाइप_आई।
-
रूलकी ="कलर" और रूलवैल्यू =कलर_आई।
-
रूलकी ="नाम" और रूलवैल्यू =name_i.
हमें मिलान की संख्या ज्ञात करनी होगी जो हम पा सकते हैं।
तो, अगर इनपुट पसंद है
बाइक | नीला | ElecB |
कार | चांदी | सूमो |
बाइक | नीला | टीवीएस |
और रूलकी ="रंग", रूलवैल्यू ="ब्लू", फिर आउटपुट 2 होगा क्योंकि दो मैच हैं [["बाइक", "ब्लू", "एलेकबी"] और ["बाइक", "ब्लू", "टीवीएस "]].
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
गिनती :=0
-
यदि नियमकी "टाइप" के समान है, तो
-
मैं के लिए 0 से लेकर मदों के आकार तक, करें
-
अगर आइटम [i, 0] रूलवैल्यू के समान है, तो
-
गिनती :=गिनती + 1
-
-
-
-
यदि नियमकी "रंग" के समान है, तो
-
मैं के लिए 0 से लेकर मदों के आकार तक, करें
-
अगर आइटम [i, 1] रूलवैल्यू के समान है, तो
-
गिनती :=गिनती + 1
-
-
-
-
यदि नियमकी "नाम" के समान है, तो
-
मैं के लिए 0 से लेकर मदों के आकार तक, करें
-
अगर आइटम [i, 2] रूलवैल्यू के समान है, तो
-
गिनती :=गिनती + 1
-
-
-
-
वापसी की संख्या
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(items, ruleKey, ruleValue): count = 0 if ruleKey == "type": for i in range(len(items)): if items[i][0] == ruleValue: count += 1 if ruleKey == "color": for i in range(len(items)): if items[i][1] == ruleValue: count += 1 if ruleKey == "name": for i in range(len(items)): if items[i][2] == ruleValue: count += 1 return count items = [["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]] ruleKey = "color" ruleValue = "blue" print(solve(items, ruleKey, ruleValue))
इनपुट
[["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]],"color", "blue"
आउटपुट
2