List
순서가 있는 데이터의 집합입니다.
List
중학교 수학책 가장 처음에 나오는 집합을 기억하시죠? 특정 값들의 묶음을 리스트(List)라고 생각하시면 됩니다. 리스트는 내가 원하는 것들을 묶어두고 필요할 때 추가, 삭제, 읽기, 수정이 가능합니다.
만들기
list = [1, 5, 3, 6]
stringList = ['Hi', 'Hello', 'Hey']
combineList = [1, 'Hello', 3, 'Hi']
inList = [1, 3, ['Hi', 'Hello']]리스트는 대괄호([ ])를 사용하고 내부 요소들은 쉼표(,)를 이용해 구분하게 됩니다.
사용하기
읽기
전체 값 출력
list = [1, 5, 3, 6]
print(list)특정 위치의 값
list의 1번째 값을 출력하도록 했습니다. 결과는 5가 출력됩니다. 왜 그런지 알아보죠. 리스트는 아래와 같은 구성으로 되어있습니다.
list의 값
1
5
3
6
순서
1번
2번
3번
4번
인덱스 or 포지션 or 위치
0
1
2
3
마이너스 인덱스
-4
-3
-2
-1
list[인덱스]를 사용하게 되면 list의 인덱스 위치의 값이 반환됩니다. list[1]의 값을 출력했을 때 위치 1번이 아닌 인덱스 1 위치의 5값이 출력됩니다.
인덱스는 -(마이너스) 값을 사용할 수 있습니다. 위의 결과는 6이 출력됩니다.
여려 값 동시에 가져오기
여러 값을 가져오기 위해서 [2:4]라고 적었습니다. 2시작 지점의 인덱스 (2 이상) : 4 끝점의 인덱스(4 미만) 2, 3 인덱스의 값을 가져오게 됩니다.
앞서 내용과 다른점은 2: 이후 어디까지 인지 위치 값이 없습니다. 2 이상 끝까지 값을 가져옵니다.
설명 안해도 느낌 오죠?
수정
02 list의 0번째 값을 10으로 변경
리스트의 첫 번째 값이 10으로 변경된것을 확인할 수 있습니다. 리스트의 값을 어려개 가져올수 있는 것처럼 어려개를 동시에 변경할 수 있습니다.
02 리스트의 0, 1번 째 값을 10, 50 으로 변경
[0:2]는 0 이상 2 미만의 위치라고 이야기 드렸죠. 그럼 우리는 0번과 1번의 값을 10, 50으로 변경하게 됩니다.
!!조심할점
출력을 해보면 예상과 다르게 나올것 입니다. 0~1번 째까지는 값이 변경되고 이후 값은 추가가 됩니다. 어려개를 변경할 때는 인덱스와 추가하는 값을 잘 확인하셔야 합니다.!!
추가
추가는 List에 만들어져 있는 append, insert 함수를 이용합니다.
젤 뒤에 추가
원하는 위치에 추가
지금까지 1,5, 3, 6 의 리스트를 사용해왔습니다. 5, 3 사이에 4 값을 추가하겠습니다.
02 insert 함수는 insert(인덱스, 값) 으로 구성됩니다.
5와 3 사이는 인덱스 1, 2 입니다. 5와 3사이에 4값을 추가 하기위해서는 인덱스 2번에 4 값을 추가해야 겠죠.
삭제
위치 값 이용
원하는 위치의 값을 삭제합니다. 젤 처음 1의 값을 삭제하겠습니다.
02 del list[0] del 명령어를 이용해 list의 0번째 값을 삭제 했습니다.
요소 값 이용
3번 값을 삭제하고 싶은데 리스트가 아주 길다면 눈으로 위치를 찾는거는 쉽지 않을 것 입니다. 이때 사용할 수 있습니다.
02 list 내부 값 중에 3을 삭제 만약에 리스트에 3값이 어려개가 있는 경우 첫 번째 것만 삭제 됩니다.
알아두면 편한 함수
갯수 구하기
값의 위치 가져오기
정렬(Sort)
역순정렬
역순 (Reverse)
값을 가져오며 삭제하기
02 리스트 제일 뒤 값을 가져오며 리스트에서 삭제한다.
02 리스트의 제일 처음 값을 가져오며 리스트에서 삭제한다.
리스트 합치기
문
예제 1 다음과 같은 리스트가 있다.
리스트를 이용해서 값 1을 구하세요. 몇 가지 방법이 있을까요?
예제2 다음과 같은 리스트가 있다.
1,2,3,4,5,6,7,8,9 를 출력하세요. 가능한 많은 방법을 찾아보세요.
예제3 어느 식당에 갔다. 음식을 주문하려고 메뉴판을 보니
T1
소고기 쌀국수
7,000원
T2
소고기 매운쌀국수
7,500원
P1
파인애플 볶음밥
8,000원
P2
해물볶음면
8,500원
Q1
월남쌈
12,000원
주문을 T1, P2을 했을 때 총 가격은 얼마인가요? 주문은 다양하게 변화 할 수 있습니다.
예제 4 입력값 0이 아닌 경우 내용을 계속 입력받고, 0을 입력하면 이전 입력값을 하나식 보여주도록 하세요. 999입력 시 종료, 998 입력 시 남아있 값 출력 ex) 사용자 입력 >> 1 >> 123 >> 23 >> 4 >> 234 >>0 234 >>0 4 >>55555 >>0 55555 >>0 23
Last updated