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

समस्याओं का सामना करना पड़ा: 1) अगर मैं रिटर्न वी या एक्स का उपयोग करता हूं तो मेरा कार्य क्यों काम नहीं करता है? यह मुझे इस मामले में "ज़िपर" उदाहरण के लिए किसी अन्य कुंजी का मान लौटाएगा। मैं समझना चाहता था कि यह सूची में संग्रहीत मूल्यों के लिए क्यों काम नहीं करता है, स्नैक कुंजी के सभी मूल्य। मैं उम्मीद कर रहा था कि अगर मैं पैरामीटर में x के रूप में "मिठाई" इनपुट करता हूं तो मुझे मिठाई का मूल्य वापस कर देगा।

यानी अगर मैं एक्स के रूप में पैरामीटर में मिठाई इनपुट करता हूं, जब फ़ंक्शन को कॉल किया जाता है तो यह ज़िपर के मूल्य को प्रिंट करेगा (मुझे नहीं पता क्यों) हालांकि अगर मैं रिटर्न वैल्यू को रिटर्न (एक्स) में बदलता हूं तो यह समस्या हल करता है लेकिन मैं बस यह समझना चाहता था कि रिटर्न वी या एक्स काम क्यों नहीं करता है

bagpack= {
  "pouch":"water bottle",
  "snacks":["chocolate","sweets", "icecream"],
  "front_zip":"zipper"
}

def search_bag(x):
    for k, v in bagpack.iteritems():
        for snack in bagpack["snacks"]:
            if v == x or snack == x:
                return v or x


print(search_bag("chocolate"))
-2
Yeo Bryan 30 मार्च 2018, 13:37

3 जवाब

सबसे बढ़िया उत्तर

मान लें कि आपको निर्दिष्ट आइटम के साथ शब्दकोश में सभी कुंजियों को खोजने की आवश्यकता है, आप इस तरह कुछ उपयोग कर सकते हैं:

bagpack= {
  "pouch":"water bottle",
  "snacks":["chocolate","sweets", "icecream"],
  "front_zip":"zipper"
}

def search_bag(x):
    lst = []
    for k, v in bagpack.iteritems():   # items() in python3
        if isinstance(v, list):
            v = ' '.join(v)
            if x in v:
                lst.append(k)
        else:
            if x == v:
                lst.append(k)
    return lst

print('Found in {}'.format(', '.join(search_bag("chocolate"))))
# Found in snacks
0
Austin 30 मार्च 2018, 11:41

अपने खोज फ़ंक्शन को निम्न तरीके से अपडेट किया:

def search_bag(x):
  for k, v in bagpack.iteritems():
      if x in v:
          return k

मूल रूप से, स्ट्रिंग को ऑब्जेक्ट या ऐरे में खोजें और कुंजी वापस करें।
धारणा: x कहीं भी मूल्यों में वर्तमान में गलत में भेजा जा रहा है

0
Subhrajyoti Das 30 मार्च 2018, 11:04

मुझे लगता है कि आप परिणाम के रूप में सही या गलत चाहते हैं

bagpack= {
    "pouch":"water bottle",
    "snacks":["chocolate","sweets", "icecream"],
    "front_zip":"zipper"
}

def search_bag(x):
    for k, v in bagpack.iteritems():
        for snack in bagpack["snacks"]:
            if v == x or snack == x:
                return v == x or snack == x
        return False

print("search Result : " + str(search_bag("chocolate")))

परिणाम खोज परिणाम : सत्य

0
toheedNiaz 30 मार्च 2018, 11:12