Skip to content

ಸೆಟ್ (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()

ಸೆಟ್‌ಗಳು ಅನನ್ಯ ಐಟಂಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಗಣಿತದ ಸೆಟ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅತ್ಯಂತ ಪರಿಣಾಮಕಾರಿ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ ಆಗಿದೆ.