※ 출처: https://swexpertacademy.com/
2. 자료구조 – 리스트, 튜플 - 연습문제 1
6273. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 1 D1
⭕️ 한 학생의 국어, 수학 점수를 튜플로 저장하고 이 튜플을 항목으로 갖는 리스트 객체가 있습니다.
이 때 첫 번째 학생은 (90, 80), 두 번째 학생은 (85, 75), 세 번째 학생은 (90, 100)의 점수를 갖습니다.
다음과 같이 결과를 만들기 위한 프로그램을 작성하십시오.
#output
1번 학생의 총점은 170점이고, 평균은 85.0입니다.
2번 학생의 총점은 160점이고, 평균은 80.0입니다.
3번 학생의 총점은 190점이고, 평균은 95.0입니다.
1.
stu1 = (90, 80)
stu2 = (85, 75)
stu3 = (90, 100)
stu_list = [stu1,stu2,stu3]
for idx, stu in enumerate(stu_list):
total = 0
for score in stu:
total += score
print("{0}번 학생의 총점은 {1}점이고, 평균은 {2}입니다.".format(idx+1, total, total/2))
2. 내장함수를 사용하여 간략하게
for stu in stu_list:
print("{0}번 학생의 총점은 {1}점이고, 평균은 {2}입니다.".format(stu_list.index((stu))+1, sum(stu), sum(stu)/2))
2. 자료구조 – 리스트, 튜플 - 연습문제 2
6275. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 2 D1
⭕️ 리스트 내포 기능을 이용해 다음 문장으로부터 모음을 제거하시오.
'Python is powerful... and fast; plays well with others; runs everywhere; is friendly & easy to learn; is Open.'
#output
Pythn s pwrfl... nd fst; plys wll wth thrs; rns vrywhr; s frndly & sy t lrn; s Opn.
- '구분자 '.join(리스트) : 매개변수로 들어온 리스트를 '구분자' 를 넣은 문자열로 합쳐서 반환해주는 함수.
text = 'Python is powerful... and fast; plays well with others; runs everywhere; is friendly & easy to learn; is Open.'
remove_this = ('a','e','i','o','u')
text_list = list(c for c in text if c not in remove_this)
print(''.join(text_list)) #list -> str
2. 자료구조 – 리스트, 튜플 - 연습문제 4
6277. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 4 D1
⭕️ 리스트 내포 기능을 활용해 입력된 정수 값 5개의 평균을 출력하는 프로그램을 작성하십시오.
# input
10
10
20
30
40
# output
입력된 값 [10, 10, 20, 30, 40]의 평균은 22.0입니다.
- input 사용법
data_list = [int(input()) for i in range(1,6)]
print('입력된 값 {0}의 평균은 {1:.1f}입니다.'.format(data_list, sum(data_list)/5))
2. 자료구조 – 리스트, 튜플 - 연습문제 11
6286. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 11 D1
❌ 리스트 내포 가능을 이용해 피보나치 수열 10번째까지 출력하는 프로그램을 작성하십시오.
# output
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
datas=[1,1]
list( datas.append(datas[i-1] + datas[i]) for i in range(1,9) ) #None
2. 자료구조 – 리스트, 튜플 - 연습문제 12
6288. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 12 D1
⭕️ 리스트 내포 기능을 이용하여 1부터 20사이의 숫자 중 3의 배수가 아니거나
5의 배수가 아닌 숫자들의 제곱 값으로 구성된 리스트 객체를 출력하는 프로그램을 작성하십시오.
# output
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 256, 289, 324, 361, 400]
- 연산자 사용 시, 중괄호() 꼭 기입
data_list = list( pow(i,2) for i in range(1,21) if (i % 3 !=0) | (i % 5 != 0))
2. 자료구조 – 리스트, 튜플 - 연습문제 12
6289. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 13 D1
⭕️ 사용자가 숫자를 입력하면 숫자의 각 자릿수의 합을 구해서 반환하는 프로그램을 작성하십시오.
예를 들어 123을 입력하면 1 + 2 + 3 = 6의 결과를 반환합니다.
# input
12345
# output
15
text = str( input())
text_list = list( int(c) for c in text)
print( sum(text_list))
2. 자료구조 – 리스트, 튜플 - 연습문제 14
6290. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 14 D1
❌입력 받은 문자열 리스트를 가나다 순으로 따로 묶으려고 합니다. 다음과 같은 리스트가 주어졌을 때 결과처럼 가나다순(사전순)으로
따로 묶은 리스트가 출력되도록 리스트 내포를 이용한 프로그램을 작성하십시오.
dicBase = (('가','깋'), ('나','닣'), ('다','딯'), ('라','맇'), ('마','밓'), ('바','빟'), ('사','싷'),
('아','잏'), ('자','짛'), ('차','칳'), ('카','킿'), ('타','팋'), ('파','핗'), ('하','힣'))
inputWord = ['막', '부모님', '비용', '비행기', '원래', '처리', '최초', '꼴', '좀', '들다', '싶다',
'수출', '계시다', '다', '뒤', '듣다', '함께', '아이', '무척', '보이다', '가지다', '그',
'자르다', '데리다', '마리', '개', '정도', '옳다', '놀이','뜨겁다']
# output
[['계시다', '가지다', '그', '개'], ['놀이'], ['들다', '다', '뒤', '듣다', '데리다'], [], ['막', '무척', '마리'], ['부모님', '비용', '비행기', '보이다'], ['싶다', '수출'], ['원래', '아이', '옳다'], ['좀', '자르다', '정도'], ['처리', '최초'], [], [], [], ['함께']]
- 한참 이해가 안 갔던 문제... ('가' <= '계시다' <= '깋' ) 어떻게 이게 가능한 거지? 싶었는데,
이를 숫자로 바꿔 (10 <= 13 <= 19) 이렇게 이해했다. 영어로도 바꿔보니 동일하다.
ret_list = []
for i in dicBase:
w_list = []
for j in inputWord:
if i[0] <= j <= i[1]:
w_list.append(j)
ret_list.append(w_list)
print(ret_list)
- 이해를 위한 영어버전 추가
dicBase2 = (('a','c'),('d','f'),('g','k'),('l','z'))
inputWord2 = ['apple','book','bike','zero','depth','find','food','enter','elevator','ant','good','happy','joy']
2. 자료구조 – 리스트, 튜플 - 연습문제 18
6295. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 18 D1
❌다음과 같이 2차원 배열 구조를 만들기 위한 행, 열 정보를 콤마(,)로 구분해 입력하고,
이 리스트 객체의 항목의 값은 행과 열의 인덱스 곱으로 초기화해 출력하는 프로그램을 작성하십시오.
# input
3,5
# output
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]
- 중첩 compresion
row_col = [int(i) for i in input().split(',')] #행 ,열
data_list = list( [x*y for y in range(row_col[1])]
for x in range(row_col[0]))
2. 자료구조 – 리스트, 튜플 - 연습문제 20
6297. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 20 D1
⭕️콤마(,)로 구분해 숫자를 입력하고, 입력된 숫자 중 홀수를 콤마(,)로 구분해 출력하는
리스트 내포 기능을 이용한 프로그램을 작성하십시오.
# input
1, 2, 3, 4, 5
# output
1, 3, 5
- data int형 변환해서 계산
data_list = [ data for data in input().replace(" ","").split(',') if int(data) % 2 != 0 ]
print(', '.join(data_list))
2. 자료구조 – 리스트, 튜플 - 연습문제 27
6305. [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 2. 자료구조 -리스트, 튜플 27 D1
⭕️ 리스트의 항목 중 중복이 되는 항목을 제거하는 함수를 정의하고 이 함수를 이용해
[12,24,35,24,88,120,155,88,120,155]에서 중복이 제거된 리스트를 출력하십시오.
# output
[12, 24, 35, 88, 120, 155]
- def parameter 확인
2025.02.08 - [Data Science/Python] - [SWEA] 함수의 기초 - 연습문제(6319,6320)
list1 = [12,24,35,24,88,120,155,88,120,155]
def remove_dup(param_list):
rtn_list = []
list( rtn_list.append(data) for data in param_list if data not in rtn_list)
return rtn_list
print(remove_dup(list1))
'Data Science > Python' 카테고리의 다른 글
[SWEA] 자료구조 셋, 딕셔너리 - 연습문제(6255,6256,6257) (1) | 2025.02.21 |
---|---|
[SWEA] 자료구조 셋, 딕셔너리 (0) | 2025.02.09 |
[SWEA] 자료구조 리스트, 튜플 (0) | 2025.02.08 |
[SWEA] 함수의 기초 - 연습문제(6319,6320) (0) | 2025.02.08 |
[SWEA] 흐름과 제어 for,while - 연습문제(6230,6246,6247,6253) (0) | 2025.02.08 |