python - tutorial - एक नियम पर पुनरावृत्ति, 'अनपॅक करने के लिए बहुत सारे मूल्य'। कुंजी=> स्ट्रिंग, मूल्य=> सूची




python tutorial pdf (5)

आप iteritems का उपयोग करना चाहते हैं। यह शब्दकोश पर एक पुनरावर्तक देता है, जो आपको एक tuple (कुंजी, मूल्य) देता है

>>> for field, values in fields.iteritems():
...     print field, values
... 
first_names ['foo', 'bar']
last_name ['gravy', 'snowman']

आपकी समस्या यह थी कि आप फ़ील्ड पर लूपिंग कर रहे थे, जो शब्दकोश की चाबियाँ लौटाता है।

>>> for field in fields:
...     print field
... 
first_names
last_name

मुझे 'too many values to unpack' त्रुटि मिल रही है। कुछ अनुमान है इसे कैसे ठीक किया जा सकता है?

first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
}        

for field, possible_values in fields:  # error happens on this line              

आप अपने कोड में fields.iteritems() गायब हैं।

आप इसे अन्य तरीके से भी कर सकते हैं, जहां आपको शब्दकोश में कुंजी का उपयोग करके मूल्य मिलते हैं।

for key in fields:
    value = fields[key]

पायथन 3.x iteritems के लिए हटा दिया गया है। इसके बजाय items उपयोग करें।

for field, possible_values in fields.items():
    print(field, possible_values)

शब्दकोश में सीधे पुनरावृत्त नहीं किया जा सकता है। तो आप tuple में परिवर्तित के माध्यम से कर सकते हैं।

first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
         } 
tup_field=tuple(fields.items())
for names in fields.items():
     field,possible_values = names
     tup_possible_values=tuple(possible_values)
     for pvalue in tup_possible_values:
           print (field + "is" + pvalue)

data = (['President','George','Bush','is','.'],['O','B-PERSON','I-PERSON','O','O'])
corpus = []
for(doc,tags) in data:
    doc_tag = []
    for word,tag in zip(doc,tags):
        doc_tag.append((word,tag))
        corpus.append(doc_tag)
        print(corpus)




python