티스토리 뷰
[문제 1]
다음 lst 변수를 대상으로 각 단계별로 list를 연산하시오.
< 각 단계별 출력 결과 예시> 단계1: [10, 1, 5, 2, 10, 1, 5, 2] 단계2: [10, 1, 5, 2, 10, 1, 5, 2, 20] 단계3: [1, 2, 1, 2] |
lst = [10, 1, 5, 2] # list 생성
# 단계1: lst 원소를 2배 생성하여 result 변수에 저장 및 출력하기
result = lst * 2
result
[10, 1, 5, 2, 10, 1, 5, 2]
# 단계 2 : lst의 첫 번째 원소에 2를 곱하여 result 변수에 추가 및 출력하기
result.append(lst[0] * 2)
result
[10, 1, 5, 2, 10, 1, 5, 2, 20]
# 단계 3 : result의 홀수 번째 원소만 result2 변수에 추가 및 출력하기
result2 = result[1::2]
result2 = [] # 빈 list
i = 0
for n in result:
if (i % 2) != 0 :
result2.append(n)
i += 1
print('단계3 :', result2)
단계3 : [1, 2, 1, 2]
[문제 2] list 원소 추가 및 요소 검사하기
A형 list 크기를 키보드로 입력받은 후, 입력 받은 크기만큼 임의 숫자를 list에 추가하고, list의 크기를 출력하시오.
<출력 결과 예시> vector 수 : 3 4 2 5 vector 크기 : 3 |
# A형 문제
size = int(input('vector 수: ')) # vector 크기 입력
lst = [] # 빈 list
for i in range(size) :
lst.append(int(input())) # list에 숫자 입력(prompt 없음)
print('vector 크기 : ', len(lst))
vector 수: 3
4
2
5
vector 크기 : 3
B형 list 크기를 키보드로 입력 받은 후, 입력 받은 크기만큼 임의 숫자를 list에 추가한다. 이후 list에서 찾을 값을 키보드로 입력한 후, 해당 값이 list에 있으면 "YES", 없으면 "NO"를 출력하시오.
<출력 결과 예시> vector 수 : 5 1 2 3 4 5 3 YES |
# B형 문제
if int(input()) in lst : # 찾을 값 입력(prompt 없음)
print('YES')
else :
print('NO')
5
NO
[문제 3] list 내포를 이용하여 문자열 처리하기
A형 message 변수를 대상으로 'spam' 원소는 1 'ham' 원소는 0으로 dummy 변수를 생성하시오.
<조건> list + for 형식 적용
<출력결과 예시> [1, 0, 1, 0, 1] |
message = ['spam', 'ham', 'spam', 'ham', 'spam']
# A형 문제
spam_list = [msg for msg in message if msg == 'spam']
print(spam_list) # ['spam', 'spam', 'spam']
B형 message 변수를 대상으로 'spam' 원소만 추출하여 spam_list에 추가하시오.
<조건> list + for + if 형식 적용
<출력결과 예시> ['spam', 'spam', 'spam'] |
message = ['spam', 'ham', 'spam', 'ham', 'spam']
# B형 문제
# dummy = [ 실행문 for msg in message]
dummy = [ 1 if msg == 'spam' else 0 for msg in message]
# 실행문 : if문 3항 연산자 이용
print(dummy) # [1, 0, 1, 0, 1]
[문제 4]
position 변수를 대상으로 중복되지 않은 직위와 직위별 빈도수를 출력하시오.
<출력결과 예시> 중복되지 않은 직위 : ['사장', '과장', '대리', '부장'] 각 직위별 빈도수 : {'과장': 2, '부장': 1, '대리': 2, '사장': 1} |
position = ['과장', '부장', '대리', '사장', '대리', '과장']
position = ['과장', '부장', '대리', '사장', '대리', '과장']
uni_position = list(set(position)) # random
print('중복되지 않은 직위 :', uni_position)
position_cnt = {}
for p in position :
position_cnt[p] = position_cnt.get(p, 0) + 1
print('각 직위별 빈도수 :', position_cnt)
중복되지 않은 직위 : ['사장', '대리', '부장', '과장']
각 직위별 빈도수 : {'과장': 2, '부장': 1, '대리': 2, '사장': 1}
'Python > 실전 예제로 배우는 파이썬 프로그래밍' 카테고리의 다른 글
사용자정의함수 (0) | 2023.03.06 |
---|---|
내장함수 (0) | 2023.03.05 |
자료구조 복제 및 알고리즘(algorithm) (0) | 2023.03.03 |
비순서 자료구조(None-Sequence Data Structure) (0) | 2023.03.02 |
순서 자료구조 (0) | 2023.03.01 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 머신러닝
- 캐글
- 파이썬
- Python
- sql 테스트
- LV1
- API
- 부스트코스
- lv4
- 데이터사이언스
- 인공지능
- nlp
- Lv3
- 프로그래밍
- SQL
- 알고리즘
- EDA
- 데이터분석
- Kaggle
- ML
- 쿼리 테스트
- 데이터 시각화
- mysql
- 데이터 분석
- ai
- LV2
- 프로그래머스
- 태블로
- SQLD
- 딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함