파이썬 300제[No.051 - 060] - 리스트1
파이썬에서 데이터타입에 구애받지 않고 저장 및 순서변경, 삽입, 삭제 등을 할 수 있는 자유로운 파이썬의 자료구조
No.051 리스트생성
문제) 2016년 11월 영화 예매 순위 기준 top3는 다음과 같습니다. 영화 제목을 movie_rank 이름의 리스트에 저장해보세요. (순위 정보는 저장하지 않습니다.)
[순위영화]
1 | 닥터 스트레인지 |
2 | 스플릿 |
3 | 럭키 |
입력) 입력받을 변수를 지정하고 오른쪽 입력값을 []로 감싸주면 리스트로 지정된다.
movie_rank = ["닥터스트레인지", "스플릿", "럭키"]
print(movie_rank)
출력)
['닥터스트레인지', '스플릿', '럭키']
No.052 리스트에 원소추가
문제) 051의 movie_rank 리스트에 "배트맨"을 추가하라.
입력) 2가지 방법이 있다. append()를 사용하여 리스트 마지막 순서, 즉 끝에 삽입하는 방법, insert(위치번호, 삽입 값)를 사용하여 내가 원하는 순서에 삽입하는 방법이 있다
movie_rank1 = ["닥터스트레인지", "스플릿", "럭키"]
movie_rank1.append("배트맨") # 리스트 마지막 순서에 원소 추가
movie_rank2 = ["닥터스트레인지", "스플릿", "럭키"]
movie_rank2.insert(2, "배트맨") # 리스트에 원하는 순서에 원소 추가
print(movie_rank1)
print(movie_rank2)
출력)
['닥터스트레인지', '스플릿', '럭키', '배트맨']
['닥터스트레인지', '스플릿', '배트맨', '럭키']
No.053 리스트에 원소추가
문제) movie_rank 리스트에는 아래와 같이 네 개의 영화 제목이 바인딩되어 있다. "슈퍼맨"을 "닥터 스트레인지"와 "스플릿" 사이에 추가하라.
movie_rank = ['닥터 스트레인지', '스플릿', '럭키', '배트맨']
입력) 52번문제에서 설명한 insert()를 사용하여 삽입한다. 닥터스트레인지와 스플릿 사이의 위치라면 리스트 역시 0 부터 순서가 시작되기 때문에 삽입 위치는 1로 지정하고 삽입값인 "슈퍼맨"을 입력한다.
movie_rank = ['닥터 스트레인지', '스플릿', '럭키', '배트맨']
movie_rank.insert(1, "슈퍼맨") # 리스트에 원하는 순서에 원소 추가
print(movie_rank)
출력)
['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']
No.054 리스트에 원소삭제
문제) movie_rank 리스트에서 '럭키'를 삭제하라.
movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']
입력) 2가지 방법이 있다 del 명령어를 사용하여 해당 변수의 리스트에서 삭제하고 싶은 원소의 위치번호를 입력값으로 받아서 삭제, remove()를 호출하여 삭제할 원소의 값을 직접입력하여 삭제한다.
movie_rank_1 = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']
movie_rank_2 = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']
del movie_rank_1[3] # 원소 위치번호를 지정하여 삭제
movie_rank_2.remove("럭키") # remove()를 사용하여 리스트 특정 원소값을 지정하고 삭제
print(movie_rank_1)
print(movie_rank_2)
출력)
['닥터 스트레인지', '슈퍼맨', '스플릿', '배트맨']
['닥터 스트레인지', '슈퍼맨', '스플릿', '배트맨']
No.055 리스트에 원소삭제
문제) movie_rank 리스트에서 '스플릿' 과 '배트맨'을 를 삭제하라.
movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '배트맨']
입력) del 명령어를 사용하여 2번호출하고 삭제한다. 처음 리스트 원소 삭제될 때 2번에 위치한 스플릿이 삭제되면, 배트맨이 2번 위치가 되므로 del명령어가 두번 실행되면 스플릿과 배트맨 원소가 리스트에서 삭제된다.
movie_rank_1 = ['닥터 스트레인지', '슈퍼맨', '스플릿', '배트맨']
del movie_rank_1[2] # 원소 위치번호를 지정하여 삭제
del movie_rank_1[2] # 2번 위치가 삭제가 되면 배트맨이 2번이 되므로 삭제
print(movie_rank_1)
출력)
['닥터 스트레인지', '슈퍼맨']
No.056 리스트 합치기
문제) lang1과 lang2 리스트가 있을 때 lang1과 lang2의 원소를 모두 갖고 있는 langs 리스트를 만들어라.
lang1 = ["C", "C++", "JAVA"]
lang2 = ["Python", "Go", "C#"]
입력) + 연산자를 사용하여 리스트 합치기, extend()를 사용하여 lang1 변수에 lang2 변수의 리스트 값을 추가
lang1 = ["C", "C++", "JAVA"]
lang2 = ["Python", "Go", "C#"]
total_lang_1 = lang1 + lang2 # + 연산자를 사용하여 리스트 끼리 합침
lang1.extend(lang2) # extend()를 사용하여 lang1에 lang2 리스트를 추가
print(total_lang_1)
print(lang1) # 원본 lang1에 리스트가 추가되는 것이므로 특정변수가 아닌 원본리턴값에 추가됨
출력)
['C', 'C++', 'JAVA', 'Python', 'Go', 'C#']
['C', 'C++', 'JAVA', 'Python', 'Go', 'C#']
No.057 리스트 최대 최소 값 구하기
문제) 다음 리스트에서 최댓값과 최솟값을 출력하라.
nums = [1, 2, 3, 4, 5, 6, 7]
입력) max(), min() 함수를 사용하여 최대값과 최소값을 구한다.
nums = [1, 2, 3, 4, 5, 6, 7]
max_nums = max(nums)
min_nums = min(nums)
print(max_nums, min_nums, sep="\n")
출력)
7
1
No.058 리스트 원소 끼리 합
문제) 다음 리스트의 합을 출력하라.
nums = [1, 2, 3, 4, 5]
입력) sum() 함수를 사용하여 합계를 출력한다.
nums = [1, 2, 3, 4, 5]
sum_nums = sum(nums) # sum() 함수사용
print(sum_nums)
출력)
15
No.059 리스트 원소 개수 구하기
문제) 다음 리스트에 저장된 데이터의 개수를 화면에 구하하라.
cook = ["피자", "김밥", "만두", "양념치킨", "족발", "피자", "김치만두", "쫄면", "쏘세지", "라면", "팥빙수", "김치전"]
입력) len() 함수를 사용하여 리스트에 저장된 데이터 개수를 출력한다.
cook = ["피자", "김밥", "만두", "양념치킨", "족발", "피자", "김치만두", "쫄면", "쏘세지", "라면", "팥빙수", "김치전"]
len_cook = len(cook)
print(len_cook)
출력)
12
No.060 리스트 원소 평균값 구하기
문제) 다음 리스트의 평균을 출력하라.
nums = [1, 2, 3, 4, 5]
입력) 파이썬에서는 원소의 평균값을 구하는 함수는 없다. 따라서 전체값을 합하는 sum()함수와 리스트 원소 개수를 출력하는 len()함수를 활용하여 문제를 푼다.
nums = [1, 2, 3, 4, 5]
AVG_nums = sum(nums) / len(nums) # 평균값이므로 리스트 원소전체합 / 리스트 원소개수
print(AVG_nums)
print(int(AVG_nums)) #참고 : 소수점이 붙지 않아야 한다면 int로 감싸서 형변환하여 출력한다.
출력)
3.0
3
'#개인연구 및 공부# > [python]' 카테고리의 다른 글
(2020.11.03)파이썬 300제 문제풀기 [No.071 - 080] - 튜플 (0) | 2020.11.03 |
---|---|
(2020.11.02)파이썬 300제 문제풀기 [No.061 - 070] - 리스트 2 (0) | 2020.11.02 |
(2020.10.31)파이썬 300제 문제풀기 [No.041 - 050] - 파이썬문자열3 (0) | 2020.10.31 |
(2020.10.30)파이썬 300제 문제풀기 [No.031 - 040] - 파이썬문자열2 (0) | 2020.10.30 |
(2020.10.29)파이썬 300제 문제풀기 [No.021 - 030] - 파이썬 문자열 1 (0) | 2020.10.29 |
댓글