मेरे पास पाइथन में होमवर्क समस्या है।
मैं लिनक्स पर पायथन संस्करण 3.4.0 का उपयोग कर रहा हूं।
डिजाइन दस्तावेज़ कहा गया है कि मैं एक CSV फ़ाइल को पढ़ने के लिए कर रहा हूँ, Names.dat के रूप में निर्दिष्ट कार्यों में बनाया का उपयोग कर, उस प्रारूप में है:
पायथन में, एक शब्दकोष में कीवर्ड जोड़े से युक्त सूची जोड़ने का सबसे आसान तरीका क्या है?
name:name2, name:name3, name2:name4, name3:name5\n (etc)
मैं एक शब्दकोश में इन कीवर्ड जोड़े को जोड़ने के लिए तो कर रहा हूँ , जो हिस्सा मैं फंस गया हूं।
कोड मैं अब तक है यह है:
dictionary = dict()
database = open('names.dat', 'r')
data = database.read()
data = data.rstrip('\n')
data = data.split(',')
for item in range(len(data)):
dictionary.update(data[item-1])
मेरे सोच जा रहा है कि अगर मैं प्रारूप में एक सूची तत्व है "नाम: NAME2", और मैं एक के रूप में उस तत्व के साथ शब्दकोश अद्यतन फ़ंक्शन को कॉल करें तर्क, यह शब्दकोश में एक कीवर्ड जोड़ी के लिए ठीक से मानचित्र करेगा।
बहरहाल, यह मामला नहीं है, जब मैं इस स्क्रिप्ट को चलाने के रूप में मैं इस त्रुटि मिलती है:
File "MyName.py", line 7, in <module>
dictionary.update(data[item-1])
ValueError: dictionary update sequence element #0 has length 1; 2 is required
This और This समान लगते हैं, लेकिन मुझे लगता है कि यह एक अलग वारंट एक अलग प्रश्न के लिए पर्याप्त है प्रतिक्रिया।
मैं यहां क्या गलत कर रहा हूं, और मैं इसे कैसे ठीक कर सकता हूं?
क्या ऐसा करने का कोई आसान तरीका है? आपकी फ़ाइल है
data = []
with open('names.dat') as database:
for line in database:
if line.strip(): # skip blank lines
data.append(
dict(i.split(":") for i in line.rstrip('\n').split(","))
)
:
यह मुहावरा अजगर में इतना आम है इसके लिए कुछ वाक्य रचना चीनी है कि वहाँ: 'dict.setdefault' और' collections.defaultdict' देखते हैं। –
नीट, मैं अपनी एआई कक्षा के लिए आर से पायथन तक जा रहा हूं और उन तरीकों से मुझे सड़क के साथ कुछ सिरदर्द बचा सकते हैं – JGreenwell