यह सूचियों एक शब्दकोश की keys()
और values()
तरीकों से लौटे तरह लग रहा है हमेशा एक 1 से 1 मानचित्रण (शब्दकोश संभालने 2 तरीकों बुला के बीच में कोई परिवर्तन नहीं किया गया है) कर रहे हैं।पायथन शब्दकोश: कुंजी() और मान() हमेशा एक ही क्रम हैं?
उदाहरण के लिए:
>>> d = {'one':1, 'two': 2, 'three': 3}
>>> k, v = d.keys(), d.values()
>>> for i in range(len(k)):
print d[k[i]] == v[i]
True
True
True
आप keys()
बुला और values()
बुला के बीच शब्दकोश में परिवर्तन नहीं करते हैं, इसके लिए लूप ऊपर ग्रहण करने के लिए हमेशा सच प्रिंट होगा गलत क्या है? मुझे यह पुष्टि करने वाला कोई दस्तावेज नहीं मिला। यदि dict परिवर्तित नहीं होता कुंजी(), मूल्यों() और अनुकूल क्रम में आइटम() वापसी सूचियों -
साइड नोट: मूल्यों की एक सूची उत्पन्न करने के लिए आपको कुंजी की सूची के माध्यम से जाना होगा, वैसे भी। ;) –
सभी उत्तरों स्पष्ट रूप से इंगित करते हैं कि उत्तर "हां, हमेशा एक ही आदेश" है, लेकिन यह आदेश क्या है? स्पष्ट रूप से हैश फ़ंक्शन का क्रम, लेकिन क्या यह अनुमान लगाया जा सकता है? – naught101
@ naught101 हैश फ़ंक्शन का क्रम [इस पर निर्भर नहीं है] (https://docs.python.org/3/tutorial/datastructures.html#dories)। यदि ऑर्डर वांछित है [ऑर्डर्ड डिक्ट] (https://docs.python.org/3.6/library/collections.html#collections.OrderedDict) जाने का तरीका होगा। – Marc