02-3 집합과 튜플 축약
곱집합
- 각 집합에서 임의의 원소를 가져와 만들 수 있는 조합을 하나의 튜플로 표현
def product_set(set1, set2):
res = set()
for i in set1:
for j in set2:
res = res | {(i, j)}
# res.add((i,j))
return res
A = {1, 3}
B = {2, 4}
AxB = product_st(A, B)
print(A)
print(B)
print(AxB)
축약표현으로 구한 곱집합
def product_set(set1, set2):
return {(i, j) for i in set1 for j in set2}
A = {1, 3}
B = {2, 4}
AxB = product_st(A, B)
print(A)
print(B)
print(AxB)
주사위를 두 번 던져서 나올 수 있는 모든 경우
def product_set(set1, set2):
return {(i, j) for i in set1 for j in set2}
cases = {1,2,3,4,5,6}
cases_2times = product_set(cases, cases)
print(cases_2times)
주사위를 두 번 던져 나오는 모든 경우에 대하여 숫자의 합
def product_set(set1, set2):
return {(i, j) for i in set1 for j in set2}
cases = {1,2,3,4,5,6}
cases_2times = product_set(cases, cases)
sum_set = {sum(tup) for tup in cases_2times}
sum_list = [sum(tup) for tup in cases_2times]
주사위를 세 번 던지는 경우
def tuple_sum(tup):
if isinstance(tup, int):
return tup
else:
accum = 0
for element in tup:
accum += tuple_sum(element)
return accum
def product_set(set1, set2):
res = set()
for i in set1:
for j in set2:
res = res | {(i, j)}
return res
cases = {1,2,3,4,5,6}
cases_2times = product_set(cases, cases)
cases_3times = product_set(cases, cases_2times)
sum_list = [tuple_sum(tup) for tup in cases_3times]
'프로그래머 > Python' 카테고리의 다른 글
[널널한 교수의 고급 파이썬] 03-2 반복자 객체 생성 (0) | 2020.12.11 |
---|---|
[널널한 교수의 고급 파이썬] 03-1 반복 가능 자료형과 반복자 (0) | 2020.12.11 |
[널널한 교수의 고급 파이썬] 02-1, 02-2 리스트 축약 표현 (0) | 2020.12.11 |
[널널한 교수의 고급 파이썬] 01-5 동적 타이핑과 정적 타이핑 (0) | 2020.12.11 |
[널널한 교수의 고급 파이썬] 01-4 다차원 리스트의 참조 (0) | 2020.12.11 |