लिस्ट्स (Lists) बहुत बढ़िया हैं, लेकिन अगर आपको 10 लाख आइटम्स में से एक ख़ास आइटम को खोजना (search) हो, तो लिस्ट काफी धीमी (slow) हो जाती है। ऐसे काम के लिए पायथन में दो शानदार टूल्स हैं: Dictionaries (डिक्शनरी) और Sets (सेट्स)।
Dictionaries: Key-Value Pairs
डिक्शनरी में डेटा इंडेक्स (0,1,2...) के आधार पर नहीं, बल्कि Key (कुंजी) के आधार पर स्टोर होता है। डिक्शनरी असली दुनिया के डेटा जैसे - ' यूज़र की प्रोफाइल' सेव करने के लिए बेहतरीन है।
student_data = {
"name": "Chandu",
"course": "BCA",
"marks": 85
}
# डेटा एक्सेस करना (बेहद तेज़!) O(1) टाइम कॉम्प्लेक्सिटी
print(student_data["name"]) # Output: Chandu
लॉजिक टिप: अगर आप किसी ऐसी key को खोजते हैं जो डिक्शनरी में है ही नहीं, तो पायथन KeyError दे देगा। इससे बचने के लिए हमेशा .get() मेथड का उपयोग करें जो एरर की जगह None लौटाता है।
Sets (सेट्स): डुप्लीकेट्स का दुश्मन
सेट भी {} कर्ली ब्रैकेट्स से बनते हैं लेकिन इनमें Keys नहीं होतीं। सेट की सबसे बड़ी खूबी यह है कि इसमें कोई भी डेटा रिपीट (Duplicate) नहीं हो सकता।
my_list = [1, 2, 2, 3, 4, 4, 5]
# लिस्ट से सारे डुप्लीकेट्स हटाने का लॉजिक (जादू!)
unique_numbers = set(my_list)
print(unique_numbers) # Output: {1, 2, 3, 4, 5}
Sets का मैथमेटिकल लॉजिक
सेट्स का इस्तेमाल आप Intersection (दोनों में कॉमन क्या है), Union (दोनों मिलाकर) जैसे वैन डायग्राम वाले कॉन्सेप्ट्स को कोड में लागू करने के लिए कर सकते हैं। यह इंटरव्यू में लॉजिक बिल्डिंग सुधारने में गजब की मदद करता है।