2011-09-02 18 views
5

मैं वास्तव में पाइथन के लिए नया हूं और मुझे इसके बारे में कोई जानकारी नहीं मिल रही है। मैं एक साहचर्य सरणी item,पायथन में एक एसोसिएटिव सरणी को कैसे परिवर्तित करें?

item['id'] = 0 
item['title'] = 'python' 

है मैं आइटम की सामग्री को मान्य करना चाहते हैं, लेकिन मैं 'title' तरह सूचकांक नाम का उपयोग लेकिन सिर्फ पाश के लिए एक है और उनके अर्थ की परवाह किए बिना आइटम में सभी प्रविष्टियों से अधिक पुनरावृति करना चाहते हैं न । कुछ

for a in range(0, len(item)): 
    print (item[a]) 

कोई विचार या सुझाव?

उत्तर

16

पायथन में, सहयोगी सरणी को dictionaries कहा जाता है। , आप अजगर और शब्दकोशों बारे में अधिक जानने के रूप में

for value in item.itervalues(): 
    print value 

:

एक अच्छा एक dict के माध्यम से पुनरावृति करने के लिए जिस तरह से .iteritems() उपयोग करने के लिए है:

for key, value in item.iteritems(): 
    print key, value 

आप केवल मूल्यों की जरूरत है, .itervalues() का उपयोग .iteritems()/itervalues() (जो एक पुनरावर्तक देता है) और items()/values() (जो एक सूची (सरणी) देता है) के बीच अंतर का ध्यान रखें।

अजगर 3

.iteritems()/.itervalues() में हटा दिया गया है और इसी दृश्यों पर items()/values()/keys() वापसी iterators।

for key, value in item.items(): 
    print(key) 
    print(value) 
+6

नोट: अजगर 3 में, इन बन '.items()' और '.values ​​()' (और एक नवागंतुक को चुना है हो सकता है पायथन 3 डाउनलोड करने के लिए)। –

+0

@ थॉमस अच्छा बिंदु, धन्यवाद। मैं अभी जवाब छोड़ दूंगा क्योंकि पाइथन 2 अभी भी कई distros के लिए डिफ़ॉल्ट प्रतीत होता है, और मुझे लगता है कि नए आने वालों के लिए iterators/जनरेटर और सूचियों के बीच अंतर को पहचानना महत्वपूर्ण है। –

+1

आपका स्वागत है। मैं जोड़ूंगा कि कई उपयोगकर्ता विंडोज़ पर हो सकते हैं, जहां बिल्कुल कोई डिफ़ॉल्ट पायथन नहीं है। कोई विचार नहीं है कि यह इस प्रश्नकर्ता पर लागू होता है, लेकिन यह विचार करने लायक है। –

6

तीन तरीके एक शब्दकोश पुनरावृत्ति करने के लिए कर रहे हैं:

item = {...} 
for key in item: # alternatively item.iterkeys(), or item.keys() in python 3 
    print key, item[key] 

item = {...} 
for value in item.itervalues(): # or item.values() in python 3 
    print value 

item = {...} 
for key, value in item.iteritems(): # or item.items() in python 3 
    print key, value 
+0

आह .. मुझे आपके जवाब में आपका पहला उदाहरण याद आया। यह उपयोगी है क्योंकि इससे पता चलता है कि 'dict' को फिर से चालू करना आपको चाबियाँ देता है। +1 –

संबंधित मुद्दे