# 합집합 연산
def main():
u1 = {1, 3, 5}
u2 = {2, 4, 6}
us = u1 | u2
print(us)
print('\t')
us.clear()
us = set.union(u1, u2)
print(us)
pass
if __name__ == '__main__':
main()
#결과
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
# 차집합 연산
def main():
u1 = {0, 1, 2}
u2 = {0}
us = u1 - u2
print(us)
us.clear()
print('\t')
us = set.difference(u1, u2)
print(us)
pass
if __name__ == '__main__':
main()
#결과
{1, 2}
{1, 2}
# 교집합 연산
def main():
u1 = {'apple', 'banana', 99, 100}
u2 = {'apple', 100}
us = u1 & u2
print(us)
print('\t')
us.clear()
us = set.intersection(u1, u2)
print(us)
pass
if __name__ == '__main__':
main()
#결과
{100, 'apple'}
{100, 'apple'}
# 대칭차집합 연산
def main():
u1 = {1, 2, 3}
u2 = {2, 3, 4}
us = u1 ^ u2
print(us)
print('\t')
us.clear()
us = set.symmetric_difference(u1, u2)
print(us)
pass
if __name__ == '__main__':
main()
# 결과
{1, 4}
{1, 4}
# 중복 제거
def main():
# 중복 제거 - set
ls = [10, 34, 5, 1, 5, 1]
ue = set(ls)
# 중복 제거는 되지만 순서 보장 X
print(ue)
# 중복 제거 & 순서 보장 - dict 메서드
ue = list(dict.fromkeys(ls))
print(ue)
pass
if __name__ == '__main__':
main()
#결과
{1, 10, 34, 5}
[10, 34, 5, 1]
# set 간 겹침 요소 확인
def main():
u1 = {1, 2, 3}
u2 = {2, 3, 4}
# 겹치는 요소가 없으면 True, 있으면 False
isDuplicate = u1.isdisjoint(u2)
print(u1, '-', u2)
if not isDuplicate:
print('겹치는 요소가 있다.')
else:
print('겹치는 요소가 없다.')
pass
print('\t')
u3 = {1, 2, 3}
u4 = {4, 5, 6}
isDuplicate = u3.isdisjoint(u4)
print(u3, '-', u4)
if not isDuplicate:
print('겹치는 요소가 있다.')
else:
print('겹치는 요소가 없다.')
pass
if __name__ == '__main__':
main()
#결과
{1, 2, 3} - {2, 3, 4}
겹치는 요소가 있다.
{1, 2, 3} - {4, 5, 6}
겹치는 요소가 없다.
댓글 영역