ಸೆಟ್ (Set)
ಪೈಥಾನ್ನಲ್ಲಿ, ಸೆಟ್ (Set) ಎಂದರೆ ಕ್ರಮರಹಿತ (unordered), ಬದಲಾಯಿಸಬಹುದಾದ (mutable), ಮತ್ತು ಅನನ್ಯ (unique) ಐಟಂಗಳ ಸಂಗ್ರಹ. ಸೆಟ್ನಲ್ಲಿ ಯಾವುದೇ ಐಟಂ ನಕಲಾಗಲು (duplicate) ಸಾಧ್ಯವಿಲ್ಲ.
- ರಚನೆ: ಕರ್ಲಿ ಬ್ರೇಸ್
{}ಬಳಸಿ ಅಥವಾset()ಫಂಕ್ಷನ್ ಬಳಸಿ ರಚಿಸಲಾಗುತ್ತದೆ. - ಗುಣಲಕ್ಷಣಗಳು: ಕ್ರಮರಹಿತ, ಬದಲಾಯಿಸಬಹುದಾದ, ನಕಲು ಮೌಲ್ಯಗಳಿಗೆ ಅನುಮತಿ ಇಲ್ಲ.
ಗಣಿತದ ಸೆಟ್ಗಳಂತೆಯೇ, ಇವುಗಳನ್ನು ಸದಸ್ಯತ್ವ ಪರೀಕ್ಷೆ (membership testing) ಮತ್ತು ನಕಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಹೆಚ್ಚಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
1. ಸೆಟ್ ಅನ್ನು ರಚಿಸುವುದು (Creating a Set)
# ಐಟಂಗಳೊಂದಿಗೆ ಸೆಟ್ ರಚಿಸುವುದು
villages = {"ಬ್ಯಾಡರಹಳ್ಳಿ", "ನೆಟ್ಟೇಕೆರೆ", "ಕಿಕ್ಕೇರಿ"}
print(f"ಹಳ್ಳಿಗಳ ಸೆಟ್: {villages}")
# ಲಿಸ್ಟ್ನಿಂದ ನಕಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಿ ಸೆಟ್ ರಚಿಸುವುದು
names = ["ರವಿಕಿರಣ", "ನಿಶ್ಕಲಾ", "ರವಿಕಿರಣ"]
unique_names = set(names)
print(f"ಅನನ್ಯ ಹೆಸರುಗಳು: {unique_names}") # Output: {'ನಿಶ್ಕಲಾ', 'ರವಿಕಿರಣ'}
# ಖಾಲಿ ಸೆಟ್ ರಚಿಸುವುದು ({} ಬಳಸಬಾರದು, ಅದು ಖಾಲಿ ಡಿಕ್ಷನರಿಯಾಗುತ್ತದೆ)
empty_set = set()
print(f"ಖಾಲಿ ಸೆಟ್: {empty_set}")
2. ಐಟಂಗಳನ್ನು ಪ್ರವೇಶಿಸುವುದು (Accessing Items)
ಸೆಟ್ಗಳು ಕ್ರಮರಹಿತವಾಗಿರುವುದರಿಂದ, ಅವುಗಳು ಇಂಡೆಕ್ಸ್ ಅನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ, set[0] ನಂತಹ ಇಂಡೆಕ್ಸಿಂಗ್ ಮೂಲಕ ಐಟಂಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಆದಾಗ್ಯೂ, ನಾವು for ಲೂಪ್ ಬಳಸಿ ಸೆಟ್ನ ಮೂಲಕ ಇಟರೇಟ್ ಮಾಡಬಹುದು ಅಥವಾ in ಕೀವರ್ಡ್ ಬಳಸಿ ಒಂದು ಐಟಂ ಸೆಟ್ನಲ್ಲಿದೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸಬಹುದು.
names = {"ರವಿಕಿರಣ", "ನಿಶ್ಕಲಾ", "ಗೋವರ್ಧನ್"}
# for ಲೂಪ್ ಬಳಸಿ ಇಟರೇಟ್ ಮಾಡುವುದು
for name in names:
print(name)
# ಸದಸ್ಯತ್ವ ಪರೀಕ್ಷೆ (Membership Test) - ಇದು ಅತ್ಯಂತ ವೇಗವಾಗಿರುತ್ತದೆ
if "ನಿಶ್ಕಲಾ" in names:
print("ಹೌದು, 'ನಿಶ್ಕಲಾ' ಸೆಟ್ನಲ್ಲಿದೆ.")
3. ಸೆಟ್ಗೆ ಐಟಂಗಳನ್ನು ಸೇರಿಸುವುದು (Adding Items)
add(item): ಸೆಟ್ಗೆ ಒಂದೇ ಐಟಂ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ. ಐಟಂ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ, ಯಾವುದೇ ಬದಲಾವಣೆಯಾಗುವುದಿಲ್ಲ.update(iterable): ಮತ್ತೊಂದು ಇಟರೇಬಲ್ನ (ಉದಾ: list, tuple, set) ಎಲ್ಲಾ ಐಟಂಗಳನ್ನು ಸೆಟ್ಗೆ ಸೇರಿಸುತ್ತದೆ.
cities = {"ಹಾಸನ", "ಚನ್ನರಾಯಪಟ್ಟಣ"}
# ಒಂದೇ ಐಟಂ ಸೇರಿಸುವುದು
cities.add("ಬೆಂಗಳೂರು")
print(f"add ನಂತರ: {cities}")
# ಅನೇಕ ಐಟಂಗಳನ್ನು ಸೇರಿಸುವುದು
more_cities = ["ಮೈಸೂರು", "ಹಾಸನ"] # 'ಹಾಸನ' ಈಗಾಗಲೇ ಇದೆ
cities.update(more_cities)
print(f"update ನಂತರ: {cities}") # Output: {'ಚನ್ನರಾಯಪಟ್ಟಣ', 'ಬೆಂಗಳೂರು', 'ಹಾಸನ', 'ಮೈಸೂರು'}
4. ಸೆಟ್ನಿಂದ ಐಟಂಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು (Removing Items)
remove(item): ನಿರ್ದಿಷ್ಟ ಐಟಂ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಐಟಂ ಸೆಟ್ನಲ್ಲಿ ಇಲ್ಲದಿದ್ದರೆ,KeyErrorಬರುತ್ತದೆ.discard(item): ನಿರ್ದಿಷ್ಟ ಐಟಂ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಐಟಂ ಸೆಟ್ನಲ್ಲಿ ಇಲ್ಲದಿದ್ದರೂ, ಯಾವುದೇ ಎರರ್ ಬರುವುದಿಲ್ಲ.pop(): ಸೆಟ್ನಿಂದ ಒಂದು ಯಾದೃಚ್ಛಿಕ (random) ಐಟಂ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.clear(): ಸೆಟ್ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಐಟಂಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
names = {"ಮಹಾಲಕ್ಷ್ಮಿ", "ಪಾರ್ವತಮ್ಮ", "ಗೋವರ್ಧನ್"}
# remove ಬಳಸುವುದು
names.remove("ಗೋವರ್ಧನ್")
print(f"remove ನಂತರ: {names}")
# discard ಬಳಸುವುದು
names.discard("ರವಿಕಿರಣ") # 'ರವಿಕಿರಣ' ಇಲ್ಲ, ಆದರೆ ಎರರ್ ಬರುವುದಿಲ್ಲ
print(f"discard ನಂತರ: {names}")
# pop ಬಳಸುವುದು
popped_item = names.pop()
print(f"ತೆಗೆದುಹಾಕಿದ ಐಟಂ: {popped_item}")
print(f"pop ನಂತರ: {names}")
# clear ಬಳಸುವುದು
names.clear()
print(f"clear ನಂತರ: {names}") # Output: set()
ಸೆಟ್ಗಳು ಅನನ್ಯ ಐಟಂಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಗಣಿತದ ಸೆಟ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅತ್ಯಂತ ಪರಿಣಾಮಕಾರಿ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ ಆಗಿದೆ.