ಪೈಥಾನ್ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ಸ್: ಸಂದರ್ಶನ ಪ್ರಶ್ನೆಗಳು ಮತ್ತು ಉತ್ತರಗಳು
1. ಲಿಸ್ಟ್ (List) ಮತ್ತು ಟಪಲ್ (Tuple) ನಡುವಿನ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೇನು?
ಉತ್ತರ: ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಮ್ಯೂಟಬಿಲಿಟಿ (Mutability).
- ಲಿಸ್ಟ್ (List): ಮ್ಯೂಟಬಲ್ (Mutable), ಅಂದರೆ ಲಿಸ್ಟ್ ಅನ್ನು ರಚಿಸಿದ ನಂತರ ಅದರ ಅಂಶಗಳನ್ನು ಸೇರಿಸಬಹುದು, ತೆಗೆದುಹಾಕಬಹುದು ಅಥವಾ
ಬದಲಾಯಿಸಬಹುದು. ಇದನ್ನು
[]ಬಳಸಿ ಡಿಫೈನ್ ಮಾಡಲಾಗುತ್ತದೆ. - ಟಪಲ್ (Tuple): ಇಮ್ಮ್ಯೂಟಬಲ್ (Immutable), ಅಂದರೆ ಟಪಲ್ ಅನ್ನು ರಚಿಸಿದ ನಂತರ ಅದರ ಅಂಶಗಳನ್ನು ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ. ಇದನ್ನು
()ಬಳಸಿ ಡಿಫೈನ್ ಮಾಡಲಾಗುತ್ತದೆ.
ಉದಾಹರಣೆ:
my_list = [1, 'a', 3.5]
my_list[1] = 'b' # ಸಾಧ್ಯ
my_tuple = (1, 'a', 3.5)
# my_tuple[1] = 'b' # TypeError ನೀಡುತ್ತದೆ
2. ಡಿಕ್ಷನರಿ (Dictionary) ಎಂದರೇನು?
ಉತ್ತರ: ಡಿಕ್ಷನರಿ ಎನ್ನುವುದು ಕೀ-ವ್ಯಾಲ್ಯೂ (key-value) ಜೋಡಿಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವ ಒಂದು ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್.
- ಕೀ (Key): ಯೂನಿಕ್ ಮತ್ತು ಇಮ್ಮ್ಯೂಟಬಲ್ ಆಗಿರಬೇಕು (ಉದಾ: string, number, tuple).
- ವ್ಯಾಲ್ಯೂ (Value): ಯಾವುದೇ ಡೇಟಾ ಟೈಪ್ ಆಗಿರಬಹುದು.
- ಡಿಕ್ಷನರಿಗಳು ಆರ್ಡರ್ ಆಗಿರುತ್ತವೆ (Python 3.7+ ನಿಂದ) ಮತ್ತು ಮ್ಯೂಟಬಲ್ ಆಗಿರುತ್ತವೆ.
ಉದಾಹರಣೆ:
student = {
"name": "Ravi",
"age": 22,
"city": "Bengaluru"
}
print(student["name"]) # Ravi
student["age"] = 23 # ವ್ಯಾಲ್ಯೂ ಬದಲಾಯಿಸಬಹುದು
print(student)
3. ಸೆಟ್ (Set) ಎಂದರೇನು ಮತ್ತು ಅದರ ಉಪಯೋಗವೇನು?
ಉತ್ತರ: ಸೆಟ್ ಎನ್ನುವುದು ಯೂನಿಕ್ (unique) ಅಂಶಗಳ ಒಂದು ಅನ್ಆರ್ಡರ್ಡ್ (unordered) ಕಲೆಕ್ಷನ್.
- ಇದರಲ್ಲಿ ಡ್ಯೂಪ್ಲಿಕೇಟ್ ಅಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುವುದಿಲ್ಲ.
- ಗಣಿತದ ಸೆಟ್ ಆಪರೇಷನ್ಗಳಾದ ಯೂನಿಯನ್, ಇಂಟರ್ಸೆಕ್ಷನ್, ಡಿಫರೆನ್ಸ್ ಇತ್ಯಾದಿಗಳನ್ನು ಮಾಡಲು ಇದು ತುಂಬಾ ಉಪಯುಕ್ತ.
ಉದಾಹರಣೆ:
numbers = {1, 2, 3, 2, 4, 1}
print(numbers) # {1, 2, 3, 4} (ಡ್ಯೂಪ್ಲಿಕೇಟ್ಗಳು ತೆಗೆದುಹಾಕಲ್ಪಡುತ್ತವೆ)
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# ಯೂನಿಯನ್
print(set1 | set2) # {1, 2, 3, 4, 5}
# ಇಂಟರ್ಸೆಕ್ಷನ್
print(set1 & set2) # {3}
4. ಲಿಸ್ಟ್ ಕಾಂಪ್ರಹೆನ್ಷನ್ (List Comprehension) ಎಂದರೇನು?
ಉತ್ತರ:
ಲಿಸ್ಟ್ ಕಾಂಪ್ರಹೆನ್ಷನ್ ಎನ್ನುವುದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಲಿಸ್ಟ್ನಿಂದ ಹೊಸ ಲಿಸ್ಟ್ ಅನ್ನು ರಚಿಸಲು ಒಂದು ಚಿಕ್ಕ ಮತ್ತು ಸುಲಭವಾದ ಮಾರ್ಗ. ಇದು
for ಲೂಪ್ಗಿಂತ ಹೆಚ್ಚು ಕಾಂಪ್ಯಾಕ್ಟ್ ಮತ್ತು ಓದಲು ಸುಲಭವಾಗಿರುತ್ತದೆ.
ಸಿಂಟ್ಯಾಕ್ಸ್:
new_list = [expression for item in iterable if condition]
ಉದಾಹರಣೆ:
# for ಲೂಪ್ ಬಳಸಿ
squares = []
for i in range(5):
squares.append(i * i)
# ಲಿಸ್ಟ್ ಕಾಂಪ್ರಹೆನ್ಷನ್ ಬಳಸಿ
squares_comp = [i * i for i in range(5)]
print(squares) # [0, 1, 4, 9, 16]
print(squares_comp) # [0, 1, 4, 9, 16]
5. ಡಿಕ್ಷನರಿಯಿಂದ ಒಂದು ಐಟಂ ಅನ್ನು ಹೇಗೆ ತೆಗೆದುಹಾಕಬಹುದು?
ಉತ್ತರ: ಡಿಕ್ಷನರಿಯಿಂದ ಐಟಂಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಹಲವಾರು ವಿಧಾನಗಳಿವೆ:
pop()ಮೆಥಡ್: ನಿರ್ದಿಷ್ಟ ಕೀ ಇರುವ ಐಟಂ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ ಮತ್ತು ಅದರ ವ್ಯಾಲ್ಯೂವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.delಕೀವರ್ಡ್: ನಿರ್ದಿಷ್ಟ ಕೀ ಇರುವ ಐಟಂ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.popitem()ಮೆಥಡ್: ಕೊನೆಯದಾಗಿ ಸೇರಿಸಿದ ಐಟಂ ಅನ್ನು (Python 3.7+ ನಿಂದ) ತೆಗೆದುಹಾಕುತ್ತದೆ ಮತ್ತು ಅದನ್ನು(key, value)ಟಪಲ್ ಆಗಿ ಹಿಂತಿರುಗಿಸುತ್ತದೆ.