연습문제 풀이
1. 아래 코드의 실행 결과는?
mylist = ['pen', 'pencil', 'sharp']
result = list(enumerate(mylist))
print(result)
- 답 및 해설
# 입력
mylist = ['pen', 'pencil', 'sharp']
result = list(enumerate(mylist))
print(result)
# 출력
[(0, 'pen'), (1, 'pencil'), (2, 'sharp')]
=> enumerate(list)는 list의 각 값을 인덱스를 붙여서 튜플 형태로 반환한다. pen은 0을, pencil은 1을, sharp는 2를 인덱스로 갖는다.
2. 아래 코드의 실행 결과는?
color = ['O', 'P', 'B', 'C', 'W', 'Y']
result = ' & '.join(color)
print(result)
- 답 및 해설
# 입력
color = ['O', 'P', 'B', 'C', 'W', 'Y']
result = ' & '.join(color)
print(result)
# 출력
O & P & B & C & W & Y
=> join()함수는 다음과 같은 형식으로 사용한다. '구분자'.join(list)
list의 원소 사이사이에 작은 따옴표 안의 구분자를 넣어서 하나의 문자열로 합쳐서 반환한다. 구분자 자리를 비워놓을 경우 공백 없이 바로 붙여서 하나의 문자열로 합친다.
4. 아래 코드의 실행 결과는?
mydict = {}
mylist = ['student', 'superuser', 'professor', 'employee']
mydict = {value_2 : value_1 for value_1, value_2 in enumerate(mylist)}
print(mydict)
- 답 및 해설
# 입력
mydict = {}
mylist = ['student', 'superuser', 'professor', 'employee']
mydict = {value_2 : value_1 for value_1, value_2 in enumerate(mylist)}
print(mydict)
# 출력
{'student': 0, 'superuser': 1, 'professor': 2, 'employee': 3}
=> list comprehension과 비슷한, dict comprehension 코드다. enumerate()와 같이 사용했다.
enumerate()에 대해서는 문제 1번에서 설명했으니 생략하고, value_1은 각각 0,1,2,3이 될 것이고 value_2는 각각 mylist의 원소가 될 것이다. value_2가 key, value_1이 value가 되도록 mydict를 만드는 코드다.
5. 아래 코드의 실행 결과는?
al = ['a','b','c','d','e','f','g','h']
num = [i for i in range(20)]
answer = [a+str(n) for n in num for a in al if n%2==0]
print(answer)
- 답 및 해설
# 입력
al = ['a','b','c','d','e','f','g','h']
num = [i for i in range(20)]
answer = [a+str(n) for n in num for a in al if n%2==0]
print(len(answer))
# 출력
80
=>
num : [0, 1, 2, ..., 19]
list comprehension으로 구현한 이중 반복문 코드다. n에 대한 for문이 앞에 오기 때문에 al의 원소가 기준이 된다. 각 알파벳당 10개의 숫자( list comprehension 구문에 if n%2 ==0이라는 조건이 있으니까 )가 문자열로 변환되어 더해지므로, 총 80개의 원소(a1, a2, ..., a8, b1, b2, ... b3, ..., h8)가 answer에 할당 될 것이다.
'STUDY > Python' 카테고리의 다른 글
[Pandas] idxmax(), idxmin() (2) | 2024.01.01 |
---|---|
[데이터 과학을 위한 파이썬 프로그래밍_2판] 9. 파이썬 스타일 코드(2) (0) | 2023.08.23 |
[데이터 과학을 위한 파이썬 프로그래밍_2판] 7. 자료구조 (3) | 2023.08.21 |
[데이터 과학을 위한 파이썬 프로그래밍_2판] 5. 함수 (0) | 2023.08.18 |
[데이터 과학을 위한 파이썬 프로그래밍_2판] 4. 조건문과 반복문 (0) | 2023.08.17 |