PyCharm का उपयोग करना, मैं इसे एक कन्वर्ट करने के लिए प्रदान करता है पर ध्यान dict शाब्दिक :
d = {
'one': '1',
'two': '2',
}
एक तानाशाह निर्माता में :
d = dict(one='1', two='2')
क्या ये विभिन्न दृष्टिकोण कुछ महत्वपूर्ण तरीके से भिन्न हैं?
(इस प्रश्न को लिखते समय मैंने देखा कि dict()
संख्यात्मक कुंजी को निर्दिष्ट करना असंभव लगता है .. d = {1: 'one', 2: 'two'}
संभव है, लेकिन, जाहिर है, dict(1='one' ...)
कोई और है?)
dict(abc = 123)
कंस्ट्रक्टर बाइट-स्ट्रिंग कुंजियों के साथ एक शब्दकोश का निर्माण करता है 'abc'
, जो कि यदि आप उपयोग कर रहे हैं unicode_literals
और यूनिकोड होने के लिए शब्दकोश कुंजियों की अपेक्षा कर रहे हैं तो आश्चर्य हो सकता है u'abc'
। Stackoverflow.com/questions/20357210/… देखें ।
dict()
कुंजी-मान वाले युग्मों की एक सूची लेता है और साथ ही नामित मापदंडों की अनुमति देता है, इसलिए इसका उपयोग किसी भी प्रकार का तानाशाही बनाने के लिए किया जा सकता है, बस उस सिंटैक्स के साथ नहीं जिसका आप उपयोग कर रहे हैं। यह भी शायद कुछ भी नहीं लायक है कि pyCharm में एक बग ( youtrack.jetbrains.net/issue/PY-2512 ) था क्योंकि विशेष रूप से आपने जो खोजा था, जो तय हो गया है)।