का उपयोग कर एक पंक्ति में कर सकते हैं कि आप dict.fromkeys()
विधि का उपयोग कर सकते हैं -
>>> s = 'abcdefghijklmnopqrstuvwxyz'
>>> alphaDict = dict.fromkeys(s,0)
>>> alphaDict
{'m': 0, 'p': 0, 'i': 0, 'n': 0, 'd': 0, 'w': 0, 'k': 0, 'y': 0, 's': 0, 'b': 0, 'h': 0, 't': 0, 'u': 0, 'q': 0, 'g': 0, 'l': 0, 'e': 0, 'a': 0, 'j': 0, 'c': 0, 'o': 0, 'f': 0, 'v': 0, 'x': 0, 'z': 0, 'r': 0}
documentation -
fromkeys (सेक [, मूल्य से ])
seq और मानों से मूल्यों के साथ कुंजी के साथ एक नया शब्दकोश बनाएं।
fromkeys()
एक क्लास विधि है जो एक नया शब्दकोश देता है। मान None
पर डिफ़ॉल्ट है।
कृपया ध्यान दें, तो आप इस प्रयोग नहीं करना चाहिए अगर value
list
या किसी अन्य dict
, आदि की तरह कुछ परिवर्तनशील है मूल्य केवल एक बार evaluted है जब आप विधि fromkeys()
कहते हैं, और सभी चाबियाँ एक ही वस्तु को इंगित।
आप int
, str
की तरह मान के रूप में अपरिवर्तनीय प्रकार के लिए इसका उपयोग कर सकते, आदि
इसके अलावा, आप s
या alphabet
स्ट्रिंग निर्दिष्ट करने के लिए, आप के बजाय string.ascii_lowercase
उपयोग कर सकते हैं की जरूरत नहीं है। उदाहरण -
>>> import string
>>> alphaDict = dict.fromkeys(string.ascii_lowercase,0)
>>> alphaDict
{'m': 0, 'p': 0, 'i': 0, 'n': 0, 'd': 0, 'w': 0, 'k': 0, 'y': 0, 's': 0, 'b': 0, 'h': 0, 't': 0, 'u': 0, 'q': 0, 'g': 0, 'l': 0, 'e': 0, 'a': 0, 'j': 0, 'c': 0, 'o': 0, 'f': 0, 'v': 0, 'x': 0, 'z': 0, 'r': 0}
http://stackoverflow.com/questions/1747817/python-create-a-dictionary-with-list-comprehension –