Skip to content

ಸೆಟ್ ಆಪರೇಷನ್‌ಗಳು (Set Operations)

ಪೈಥಾನ್‌ನ ಸೆಟ್‌ಗಳು ಗಣಿತದ ಸೆಟ್‌ಗಳಂತೆಯೇ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಇವು ಯೂನಿಯನ್, ಇಂಟರ್‌ಸೆಕ್ಷನ್, ಡಿಫರೆನ್ಸ್, ಮತ್ತು ಇತರ ಹಲವು ಆಪರೇಷನ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಶಕ್ತಿಯುತ ಮೆಥಡ್‌ಗಳು ಮತ್ತು ಆಪರೇಟರ್‌ಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ.


ಸೆಟ್ ಆಪರೇಷನ್‌ಗಳು

ಕೆಳಗಿನ ಉದಾಹರಣೆಗಳಿಗಾಗಿ, ನಾವು ಎರಡು ಸೆಟ್‌ಗಳನ್ನು ಬಳಸೋಣ:

group_a = {"ರವಿಕಿರಣ", "ನಿಶ್ಕಲಾ", "ಗೋವರ್ಧನ್"}
group_b = {"ಮಹಾಲಕ್ಷ್ಮಿ", "ಪಾರ್ವತಮ್ಮ", "ನಿಶ್ಕಲಾ"}

1. ಯೂನಿಯನ್ (Union)

ಎರಡೂ ಸೆಟ್‌ಗಳಲ್ಲಿರುವ ಎಲ್ಲಾ ಅನನ್ಯ (unique) ಐಟಂಗಳನ್ನು ಸೇರಿಸಿ ಹೊಸ ಸೆಟ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ.

  • ಮೆಥಡ್: set1.union(set2)
  • ಆಪರೇಟರ್: set1 | set2

# ಮೆಥಡ್ ಬಳಸಿ
all_members = group_a.union(group_b)
print(f"ಯೂನಿಯನ್ (ಮೆಥಡ್): {all_members}")

# ಆಪರೇಟರ್ ಬಳಸಿ
all_members_op = group_a | group_b
print(f"ಯೂನಿಯನ್ (ಆಪರೇಟರ್): {all_members_op}")
ಔಟ್‌ಪುಟ್: {'ರವಿಕಿರಣ', 'ಪಾರ್ವತಮ್ಮ', 'ಮಹಾಲಕ್ಷ್ಮಿ', 'ನಿಶ್ಕಲಾ', 'ಗೋವರ್ಧನ್'}


2. ಇಂಟರ್‌ಸೆಕ್ಷನ್ (Intersection)

ಎರಡೂ ಸೆಟ್‌ಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿರುವ (common) ಐಟಂಗಳನ್ನು ಮಾತ್ರ ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

  • ಮೆಥಡ್: set1.intersection(set2)
  • ಆಪರೇಟರ್: set1 & set2
common_members = group_a.intersection(group_b)
print(f"ಇಂಟರ್‌ಸೆಕ್ಷನ್: {common_members}") # Output: {'ನಿಶ್ಕಲಾ'}

3. ಡಿಫರೆನ್ಸ್ (Difference)

ಮೊದಲ ಸೆಟ್‌ನಲ್ಲಿರುವ, ಆದರೆ ಎರಡನೇ ಸೆಟ್‌ನಲ್ಲಿ ಇಲ್ಲದ ಐಟಂಗಳನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

  • ಮೆಥಡ್: set1.difference(set2)
  • ಆಪರೇಟರ್: set1 - set2
# group_a ನಲ್ಲಿ ಮಾತ್ರ ಇರುವ ಸದಸ್ಯರು
only_in_a = group_a.difference(group_b)
print(f"A - B: {only_in_a}") # Output: {'ರವಿಕಿರಣ', 'ಗೋವರ್ಧನ್'}

# group_b ನಲ್ಲಿ ಮಾತ್ರ ಇರುವ ಸದಸ್ಯರು
only_in_b = group_b.difference(group_a)
print(f"B - A: {only_in_b}") # Output: {'ಪಾರ್ವತಮ್ಮ', 'ಮಹಾಲಕ್ಷ್ಮಿ'}

4. ಸಿಮೆಟ್ರಿಕ್ ಡಿಫರೆನ್ಸ್ (Symmetric Difference)

ಎರಡೂ ಸೆಟ್‌ಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿಲ್ಲದ, ಅಂದರೆ, ಯಾವುದಾದರೂ ಒಂದರಲ್ಲಿ ಮಾತ್ರ ಇರುವ ಎಲ್ಲಾ ಐಟಂಗಳನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

  • ಮೆಥಡ್: set1.symmetric_difference(set2)
  • ಆಪರೇಟರ್: set1 ^ set2
unique_to_each = group_a.symmetric_difference(group_b)
print(f"ಸಿಮೆಟ್ರಿಕ್ ಡಿಫರೆನ್ಸ್: {unique_to_each}")
# Output: {'ರವಿಕಿರಣ', 'ಪಾರ್ವತಮ್ಮ', 'ಮಹಾಲಕ್ಷ್ಮಿ', 'ಗೋವರ್ಧನ್'}

ಸೆಟ್ ಹೋಲಿಕೆ ಮೆಥಡ್‌ಗಳು (Set Comparison Methods)

issubset(other)

ಪ್ರಸ್ತುತ ಸೆಟ್‌ನ ಎಲ್ಲಾ ಐಟಂಗಳು other ಸೆಟ್‌ನಲ್ಲಿದ್ದರೆ True ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

team = {"ರವಿಕಿರಣ", "ನಿಶ್ಕಲಾ"}
print(team.issubset(group_a)) # Output: True

issuperset(other)

ಪ್ರಸ್ತುತ ಸೆಟ್ other ಸೆಟ್‌ನ ಎಲ್ಲಾ ಐಟಂಗಳನ್ನು ಹೊಂದಿದ್ದರೆ True ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

print(group_a.issuperset(team)) # Output: True

isdisjoint(other)

ಎರಡು ಸೆಟ್‌ಗಳ ನಡುವೆ ಯಾವುದೇ ಸಾಮಾನ್ಯ ಐಟಂಗಳು ಇಲ್ಲದಿದ್ದರೆ True ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

set1 = {1, 2, 3}
set2 = {4, 5, 6}
print(set1.isdisjoint(set2)) # Output: True

ಇನ್‌-ಪ್ಲೇಸ್ (In-place) ಆಪರೇಷನ್‌ಗಳು

ಮೇಲಿನ ಮೆಥಡ್‌ಗಳು ಹೊಸ ಸೆಟ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತವೆ. ಆದರೆ, ಮೂಲ ಸೆಟ್ ಅನ್ನು ಸ್ಥಳದಲ್ಲೇ ಬದಲಾಯಿಸಲು update ಮೆಥಡ್‌ಗಳಿವೆ: - intersection_update() (&=) - difference_update() (-=) - symmetric_difference_update() (^=)

set_x = {1, 2, 3}
set_y = {3, 4, 5}

set_x.intersection_update(set_y) # set_x ಅನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ
print(set_x) # Output: {3}
ಈ ಆಪರೇಷನ್‌ಗಳು ಡೇಟಾವನ್ನು ಹೋಲಿಸಲು, ಫಿಲ್ಟರ್ ಮಾಡಲು, ಮತ್ತು ವಿಶ್ಲೇಷಿಸಲು ಅತ್ಯಂತ ಉಪಯುಕ್ತವಾಗಿವೆ.