ಪೈಥಾನ್ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ಗಳ ಹೋಲಿಕೆ
ಪೈಥಾನ್ನಲ್ಲಿ, ಡೇಟಾವನ್ನು ಸಂಘಟಿಸಲು ಮತ್ತು ಸಂಗ್ರಹಿಸಲು ಹಲವಾರು ಅಂತರ್ನಿರ್ಮಿತ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ಗಳಿವೆ. ಇವುಗಳಲ್ಲಿ List, Tuple, Set, ಮತ್ತು Dictionary ಅತ್ಯಂತ ಪ್ರಮುಖವಾದವು. ಪ್ರತಿಯೊಂದಕ್ಕೂ ತನ್ನದೇ ಆದ ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ಉಪಯೋಗಗಳಿವೆ.
ಸರಿಯಾದ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು ನಿಮ್ಮ ಕೋಡ್ನ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಓದಬಲ್ಲತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.
ಗುಣಲಕ್ಷಣಗಳ ಹೋಲಿಕೆ
| ಗುಣಲಕ್ಷಣ | List (ಪಟ್ಟಿ) | Tuple (ಟ್ಯೂಪಲ್) | Set (ಸೆಟ್) | Dictionary (ಡಿಕ್ಷನರಿ) |
|---|---|---|---|---|
| ಸಿಂಟ್ಯಾಕ್ಸ್ | [1, 2, 3] |
(1, 2, 3) |
{1, 2, 3} |
{'a': 1, 'b': 2} |
| ಕ್ರಮ (Order) | ಕ್ರಮಬದ್ಧ (Ordered) | ಕ್ರಮಬದ್ಧ (Ordered) | ಕ್ರಮರಹಿತ (Unordered) | ಕ್ರಮಬದ್ಧ (Ordered) (Python 3.7+) |
| ಬದಲಾವಣೆ (Mutable) | ಬದಲಾಯಿಸಬಹುದು (Mutable) | ಬದಲಾಯಿಸಲಾಗದು (Immutable) | ಬದಲಾಯಿಸಬಹುದು (Mutable) | ಬದಲಾಯಿಸಬಹುದು (Mutable) |
| ನಕಲು ಮೌಲ್ಯಗಳು (Duplicates) | ಅನುಮತಿಸಲಾಗಿದೆ | ಅನುಮತಿಸಲಾಗಿದೆ | ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ | ಕೀಗಳು ನಕಲಾಗುವಂತಿಲ್ಲ |
| ಪ್ರವೇಶ (Access) | ಇಂಡೆಕ್ಸ್ ಮೂಲಕ (list[0]) |
ಇಂಡೆಕ್ಸ್ ಮೂಲಕ (tuple[0]) |
ಸಾಧ್ಯವಿಲ್ಲ (ಇಟರೇಟ್ ಮಾತ್ರ) | ಕೀ ಮೂಲಕ (dict['key']) |
ಯಾವಾಗ ಏನನ್ನು ಬಳಸಬೇಕು?
1. List (ಪಟ್ಟಿ) []
- ಬಳಸಿ:
- ಐಟಂಗಳ ಕ್ರಮವು ಮುಖ್ಯವಾದಾಗ.
- ಐಟಂಗಳನ್ನು ಆಗಾಗ್ಗೆ ಸೇರಿಸಲು, ತೆಗೆದುಹಾಕಲು, ಅಥವಾ ಬದಲಾಯಿಸಲು ಬೇಕಾದಾಗ.
- ನಕಲು ಮೌಲ್ಯಗಳು ಇರಬೇಕಾದಾಗ.
- ಉದಾಹರಣೆಗಳು: ವಿದ್ಯಾರ್ಥಿಗಳ ಪಟ್ಟಿ, ಶಾಪಿಂಗ್ ಲಿಸ್ಟ್, ಸರದಿಯಲ್ಲಿರುವ (queue) ಕಾರ್ಯಗಳು.
students = ["ರವಿಕಿರಣ", "ನಿಶ್ಕಲಾ", "ಗೋವರ್ಧನ್"]
students.append("ಮಹಾಲಕ್ಷ್ಮಿ") # ಐಟಂ ಸೇರಿಸುವುದು
students[0] = "ರವಿ" # ಐಟಂ ಬದಲಾಯಿಸುವುದು
print(students)
2. Tuple (ಟ್ಯೂಪಲ್) ()
- ಬಳಸಿ:
- ಐಟಂಗಳ ಕ್ರಮವು ಮುಖ್ಯ ಮತ್ತು ಡೇಟಾ ಬದಲಾಗಬಾರದು ಎಂದಾಗ.
- ಬದಲಾಗದ (constant) ಡೇಟಾದ ಸಂಗ್ರಹಕ್ಕಾಗಿ.
- ಡಿಕ್ಷನರಿ ಕೀಗಳಾಗಿ ಬಳಸಲು (ಏಕೆಂದರೆ ಅವು immutable).
- ಉದಾಹರಣೆಗಳು: ವಾರದ ದಿನಗಳು, ತಿಂಗಳುಗಳು, GPS ನಿರ್ದೇಶಾಂಕಗಳು (coordinates).
weekdays = ("ಸೋಮವಾರ", "ಮಂಗಳವಾರ", "ಬುಧವಾರ")
# weekdays[0] = "ಭಾನುವಾರ" # TypeError: 'tuple' object does not support item assignment
3. Set (ಸೆಟ್) {}
- ಬಳಸಿ:
- ಕೇವಲ ಅನನ್ಯ (unique) ಐಟಂಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು.
- ಒಂದು ಐಟಂ ಸಂಗ್ರಹದಲ್ಲಿದೆಯೇ ಎಂದು ವೇಗವಾಗಿ ಪರೀಕ್ಷಿಸಲು (membership testing).
- ಗಣಿತದ ಸೆಟ್ ಆಪರೇಷನ್ಗಳಿಗಾಗಿ (union, intersection, difference).
- ಉದಾಹರಣೆಗಳು: ಅನನ್ಯ ಬಳಕೆದಾರರ IDಗಳು, ಲೇಖನದ ಟ್ಯಾಗ್ಗಳು, ನಕಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು.
unique_villages = {"ಬ್ಯಾಡರಹಳ್ಳಿ", "ನೆಟ್ಟಗೆರೆ", "ಕೀಕೇರಿ", "ಬ್ಯಾಡರಹಳ್ಳಿ"}
print(unique_villages) # Output: {'ನೆಟ್ಟಗೆರೆ', 'ಕೀಕೇರಿ', 'ಬ್ಯಾಡರಹಳ್ಳಿ'}
print("ಕೀಕೇರಿ" in unique_villages) # Output: True (ವೇಗವಾದ ಪರೀಕ್ಷೆ)
4. Dictionary (ಡಿಕ್ಷನರಿ) {key: value}
- ಬಳಸಿ:
key:valueಜೋಡಿಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು.- ಕೀ ಬಳಸಿ ಮೌಲ್ಯವನ್ನು ವೇಗವಾಗಿ ಹುಡುಕಲು (lookup).
- ರಚನಾತ್ಮಕ (structured) ಮಾಹಿತಿಯನ್ನು ಪ್ರತಿನಿಧಿಸಲು.
- ಉದಾಹರಣೆಗಳು: ವ್ಯಕ್ತಿಯ ವಿವರಗಳು (ಹೆಸರು, ವಯಸ್ಸು, ನಗರ), ಫೋನ್ ಬುಕ್, JSON ಡೇಟಾ.
person = {
"name": "ಪಾರ್ವತಮ್ಮ",
"village": "ಬ್ಯಾಡರಹಳ್ಳಿ",
"age": 50
}
print(f"{person['name']} ಅವರು {person['village']} ಗ್ರಾಮದವರು.")
person['age'] = 51 # ಮೌಲ್ಯವನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡುವುದು
ಸಾರಾಂಶ
| ನಿಮಗೆ ಬೇಕಾಗಿರುವುದು | ಬಳಸಬೇಕಾದ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ |
|---|---|
| ಕ್ರಮಬದ್ಧ ಮತ್ತು ಬದಲಾಯಿಸಬಹುದಾದ ಸಂಗ್ರಹ | List |
| ಕ್ರಮಬದ್ಧ ಮತ್ತು ಬದಲಾಯಿಸಲಾಗದ ಸಂಗ್ರಹ | Tuple |
| ಅನನ್ಯ ಐಟಂಗಳ ಸಂಗ್ರಹ, ವೇಗದ ಸದಸ್ಯತ್ವ ಪರೀಕ್ಷೆ | Set |
| ಕೀ-ಮೌಲ್ಯ ಜೋಡಿಗಳ ಸಂಗ್ರಹ, ಕೀ ಮೂಲಕ ವೇಗದ ಹುಡುಕಾಟ | Dictionary |
ಸರಿಯಾದ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ, ಓದಬಲ್ಲ, ಮತ್ತು ದೋಷ-ಮುಕ್ತವಾಗಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.