이 글은 『이것이 취업을 위한 코딩 테스트다 with 파이썬』 책과 <<프로그래밍 기초 in Python>> 코드잇 강의를
참고해 적었음을 말씀드립니다.
여러 개의 데이터를 연속적으로 담아 처리할 때 사용하기 좋은 배열방식이다.
인덱스는 0부터 시작하며 [] 안에 넣어 초기화하고 쉼표(,)로 원소를 구분한다.
지원 메소드 : append(), remove() 등
리스트 자료형
[1, 2, 3, 4, 5, 6, 7]
인덱스 3 : 4
빈 리스크 : []
빈 리스크2 : []
초기화 : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
리스트의 인덱싱과 슬라이싱
a[-1] : 5
변경된 a[-1]의 list값 : [1, 2, 3, 4, 7]
[1, 2, 3]
리스트 컴프리헨션
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
리스트 관련 메서드
초기 값 : [1, 4, 2, 3, 5, 3]
6 삽입 : [1, 4, 2, 3, 5, 3, 6]
인덱스 2에 7추가 : [1, 4, 7, 2, 3, 5, 3, 6]
오름차순 정렬 : [1, 2, 3, 3, 4, 5, 6, 7]
내림차순 정렬 : [7, 6, 5, 4, 3, 3, 2, 1]
값이 3인 데이터 수 세기 : 2
값이 3인 데이터 삭제 : [1, 2, 3, 4, 5, 6, 7]
[1, 2, 4]
예제)
# 리스트(list)
numbers = [2, 3, 5, 7, 11, 13]
names = ["윤수", "혜린", "태호", "영호"]
# 인덱싱(indexing)
print(names[0])
num_1 = numbers[1]
num_3 = numbers[3]
print(num_1+num_3)
print(numbers[-6]) # -1부터 역순으로도 가능
# 리스트 슬라이싱(list slicing)
print(numbers[0:4]) #index 0~3
print(numbers[2:]) #index 2~ 마지막
print(numbers[:3]) #index 처음 ~2
new_list = numbers[:3] # [2, 3, 5]
print(new_list[2])
numbers[0] = 7 # 인덱스 0 에 정수 7을 넣어줌 2->7 교체됨
print(numbers)
numbers[0] = numbers[0] + numbers[1]
print(numbers)
# 리스트 함수
numbers = []
print(len(numbers))
numbers.append(5) # 가장 오른쪽에 새로운 값을 추가
numbers.append(3)
print(numbers)
print(len(numbers))
numbers = [2, 3, 5, 7, 11]
del numbers[3] # del은 삭제 3번째 위치의 값을 삭제
print(numbers) # [2, 3, 5, 11]
numbers.insert(1, 20) # insert는 원하는 자리에 값을 추가
print(numbers)
# 리스트 정렬
# - sorted : 기존 리스트는 건드리지 앟고, 정렬된 새로운 리스트를 리턴
# - sort : 아무것도 리턴하지 않고, 기존 리스트를 정렬
numbers = [19, 13, 1, 5, 2, 11, 7, 17]
new_list = sorted(numbers, reverse=True) # list 정렬 오름차순, reverse=True : 내림차순
print(new_list)
print(numbers) # sorted는 기존의 list를 건들지 않음
numbers.sort() # numbers의 list 자체를 오름차순 정렬
print(numbers)
numbers.sort(reverse=True) # 내림차순 정렬
print(numbers)
# Ex1. greetings 리스트의 원소를 모두 출력하는 프로그램을 작성해 보세요.
print("Ex1.")
greetings = ["안녕", "니하오", "곤니찌와", "올라", "싸와디캅", "헬로", "봉주르"]
i = 0
while i < len(greetings):
print(greetings[i])
i += 1
# Ex2. 화씨 온도(°F)를 섭씨 온도(°C)로 바꾸어주는 프로그램을 만들라.
print("Ex2.")
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: " + str(temperature_list)) # 화씨 온도 출력
i = 0
while i < len(temperature_list):
temperature_list[i] = round(fahrenheit_to_celsius(temperature_list[i]), 1)
i += 1
print("섭씨 온도 리스트: " + str(temperature_list)) # 섭씨 온도 출력
# Ex3.원화를 미국 달러($)로 하면 얼마일지,그리고 일본 엔화(¥)로 하면 얼마일지 계산하는 프로그램을 작성하시오.
# 원화(₩)에서 달러($)로 변환하는 함수 1달러 1000원
print("Ex3.")
def krw_to_usd(krw):
return krw / 1000
# 달러($)에서 엔화(¥)로 변환하는 함수 1000엔 8달러 = 125엔 1달러
def usd_to_jpy(usd):
return usd * 125
# 원화(₩)으로 각각 얼마인가요?
prices = [34000, 13000, 5000, 21000, 1000, 2000, 8000, 3000]
print("한국 화폐: " + str(prices))
# prices를 원화(₩)에서 달러($)로 변환하기
i = 0
while i < len(prices):
prices[i] = krw_to_usd(prices[i])
i += 1
# 달러($)로 각각 얼마인가요?
print("미국 화폐: " + str(prices))
# prices를 달러($)에서 엔화(¥)으로 변환하기
i = 0
while i < len(prices):
prices[i] = usd_to_jpy(prices[i])
i += 1
# 엔화(¥)으로 각각 얼마인가요?
print("일본 화폐: " + str(prices))
# Ex4. 리스트 함수 활용
print("Ex4.")
# 빈 리스트 만들기
numbers = []
print(numbers)
# numbers에 값들 추가
numbers.append(1)
numbers.append(7)
numbers.append(3)
numbers.append(6)
numbers.append(5)
numbers.append(2)
numbers.append(13)
numbers.append(14)
print(numbers) # [1, 7, 3, 6, 5, 2, 13, 14]
# numbers에서 홀수 제거
i = 0
while i < len(numbers):
if numbers[i] % 2 != 0:
del numbers[i] # 삭제가 될 경우 인덱스가 앞당겨지기에
else: # 삭제가 안되는 짝수에만 +1을 한다
i += 1
print(numbers)
# numbers의 인덱스 0 자리에 20이라는 값 삽입
numbers.insert(0, 20) # 인덱스 0에 20 들어가고 나머지는 뒤로 밀려난다
print(numbers)
# numbers를 정렬해서 출력
numbers.sort()
print(numbers)
<result>
윤수
10
2
[2, 3, 5, 7]
[5, 7, 11, 13]
[2, 3, 5]
5
[7, 3, 5, 7, 11, 13]
[10, 3, 5, 7, 11, 13]
0
[5, 3]
2
[2, 3, 5, 11]
[2, 20, 3, 5, 11]
[19, 17, 13, 11, 7, 5, 2, 1]
[19, 13, 1, 5, 2, 11, 7, 17]
[1, 2, 5, 7, 11, 13, 17, 19]
[19, 17, 13, 11, 7, 5, 2, 1]
Ex1.
안녕
니하오
곤니찌와
올라
싸와디캅
헬로
봉주르
Ex2.
화씨 온도 리스트: [40, 15, 32, 64, -4, 11]
섭씨 온도 리스트: [4.4, -9.4, 0.0, 17.8, -20.0, -11.7]
Ex3.
한국 화폐: [34000, 13000, 5000, 21000, 1000, 2000, 8000, 3000]
미국 화폐: [34.0, 13.0, 5.0, 21.0, 1.0, 2.0, 8.0, 3.0]
일본 화폐: [4250.0, 1625.0, 625.0, 2625.0, 125.0, 250.0, 1000.0, 375.0]
Ex4.
[]
[1, 7, 3, 6, 5, 2, 13, 14]
[6, 2, 14]
[20, 6, 2, 14]
[2, 6, 14, 20]
[참고자료]
- 『이것이 취업을 위한 코딩 테스트다 with 파이썬』 나동빈. 한빛미디어
- <<프로그래밍 기초 in Python>> 코드잇
[파이썬 공부]
02-3 리스트 자료형
지금까지 우리는 숫자와 문자열에 대해서 알아보았다. 하지만 숫자와 문자열만으로 프로그래밍을 하기엔 부족한 점이 많다. 예를 들어 1부터 10까지의 숫자 중 홀수 모음인 1, ...
wikidocs.net
'프로그래밍 > python' 카테고리의 다른 글
for 반복문 (0) | 2021.10.27 |
---|---|
리스트(list) 활용 tip (0) | 2021.10.27 |
ex2. 제어문 실습과제 (0) | 2021.10.24 |
제어문 예제 while if (0) | 2021.10.23 |
거스름돈 계산 프로그램 (0) | 2021.10.23 |