25-26, 딕셔너리, 세트

Joy·2020년 3월 3일
0

딕셔너리

딕셔너리 메서드

딕셔너리와 반복문

for 변수 in 딕셔너리:              # 모든 키를 꺼내옴
    반복할 코드
 
for 키, 값 in 딕셔너리.items():    # 모든 키와 값을 꺼내옴
    반복할 코드
 
for 키 in 딕셔너리.keys():         # 모든 키를 꺼내옴
    반복할 코드
 
for 값 in 딕셔너리.values():       # 모든 값을 꺼내옴
    반복할 코드

딕셔너리 표현식

{키: 값 for 키, 값 in 딕셔너리}
{키: 값 for 키, 값 in 딕셔너리 if 조건식}

{key: value for key, value in dict.fromkeys(['a', 'b', 'c', 'd']).items()}
dict({키: 값 for 키, 값 in 딕셔너리})
{key: value for key, value in {'a': 10, 'b': 20, 'c': 30, 'd': 40}.items() if value != 20}
dict({키: 값 for 키, 값 in 딕셔너리 if 조건식})

세트(집합)

세트 만들기

세트 = {값1, 값2, 값3}
set(반복가능한객체)

세트에 있나 확인

값 in 세트

세트의 메서드, 집합 연산

세트 표현식

세트 표현식은 세트 안에 식, for 반복문, if 조건문 등을 지정하여 세트를 생성합니다.

{식 for 변수 in 반복가능한값}

{i for i in 'apple'}

set(식 for 변수 in 반복가능한값)

{식 for 변수 in 세트 if 조건식}

{i for i in 'pineapple' if i not in 'apl'}

set(식 for 변수 in 세트 if 조건식)

Q 공약수 구하기

표준 입력으로 양의 정수 두 개가 입력됩니다. 다음 소스 코드를 완성하여 두 숫자의 공약수를 세트 형태로 구하도록 만드세요

a, b = map(int, input().split())
a = {i for i in range(1, a+1) if a%i == 0}
b = {i for i in range(1, b+1) if b%i == 0}

divisor = a & b
 
result = 0
if type(divisor) == set:
    result = sum(divisor)
 
print(result)
profile
roundy

0개의 댓글