사람들이 리스트와 배열을 많이 헷갈리시는데 배열은 크기 할당을 꼭 해줘야 하고 리스트는 안 해줘도 되는 장점이 있다.
리스트는 파이썬을 공부하기 위해서는 무조건 알아야 하는 것이라고 생각된다.
리스트는 4가지로 나눠서 설명하겠다.
1.리스트 선언하기
2. 리스트 연산하기
3. 리스트에 요소 추가 / 제거 하기
4. 리스트 정렬하기
1. 리스트 선언하기
리스트는 대괄호에 자료를 쉼표로 구분해서 입력합니다.
1
|
worldcup = ["한국","포르투갈","우루과이","가나"]
|
cs |
리스트는 숫자, 문자열 그리고 여러 자료형으로 구성할 수 있다.
리스트의 시작 인덱스는 배열과 똑같이 0이다.
1
2
|
worldcup = ["한국","포르투갈","우루과이","가나"]
print(worldcup[1])
|
cs |
그러므로 worldcup[1]은 포르투갈이다.
1
2
3
|
worldcup = ["한국","포르투갈","우루과이","가나"]
worldcup[1] = "스페인"
print(worldcup[1])
|
cs |
인덱스를 이용해 리스트의 요소를 바꿀 수도 있습니다.
1
|
worldcup = ["한국","포르투갈","우루과이","가나","일본","스페인","브라질","이탈리아","독일","아르헨티나","칠레"]
|
cs |
만약에 리스트의 요소가 이렇게 많을때 맨 뒤에 있는 요소를 호출하려고 하면 눈을 모니터에 가까이 대고 하나씩 세어야 합니다. 그렇게 하면 여러분의 시력은 금방 안 좋아집니다. *사실 뒤에 나오는 len()함수를 사용해도 됩니다.
다행히 파이썬에서는 마지막 요소의 인덱스를 -1로 지정했습니다.
자연스럽게 뒤에서 두번째는 -2 세번째는 -3이 됩니다.
1
2
|
worldcup = ["한국","포르투갈","우루과이","가나","일본","스페인","브라질","이탈리아","독일","아르헨티나","칠레"]
print(worldcup[-2])
|
cs |
출력값은 끝에서 두 번째에 있는 아르헨티나입니다.
1
2
|
worldcup = ["한국","포르투갈","우루과이","가나","일본","스페인","브라질","이탈리아","독일","아르헨티나","칠레"]
print(worldcup[-2][0])
|
cs |
이렇게 이중으로 리스트 접근 연산자를 사용한다면 아르헨티나의 첫 번째 글자인 "아"만 출력이 됩니다.
이중으로 리스트 접근 연산자를 사용하면 "아르헨티나"를 또 하나의 리스트로 인식을 하고 해당 요소가 출력이 됩니다.
2. 리스트 연산하기
리스트는 총 세 가지 방법으로 연산할 수 있습니다.
리스트 연산 방법은 매우 유용하니 암기하면 좋습니다.
1
2
3
4
|
number = [1,2,3]
number_1 = [4,5,6]
number_3 = number + number_1
print(number_3)
|
cs |
"+"연산자를 이용하면 리스트를 연결할 수 있습니다.
출력 값은 [1, 2, 3, 4, 5, 6] 입니다.
1
2
3
|
number = [1,2,3]
number_1 = number * 3
print(number_1)
|
cs |
" * "연산자를 이용하면 리스트를 반복할 수 있습니다.
출력 값은 [1, 2, 3, 1, 2, 3, 1, 2 ,3] 입니다.
1
2
3
|
worldcup = ["한국","포르투갈","우루과이","가나","일본","스페인","브라질","이탈리아","독일","아르헨티나","칠레"]
a = len(worldcup)
print(a)
|
cs |
마지막으로 len() 함수를 이용하면 리스트의 길이를 확인할 수 있습니다.
출력 값은 11입니다.
3. 리스트에 요소 추가하기
append()함수와 insert()함수를 이용해서 리스트에 요소를 추가할수 있습니다.
1. append()함수
append()함수를 이용하면 리스트의 맨 뒤에 요소를 추가할 수 있습니다.
1
2
3
|
abc = [1,2,3,4,5]
abc.append(6)
print(abc)
|
cs |
출력값은 [1, 2, 3, 4, 5, 6]입니다.
2. insert() 함수
insert() 함수는 append()함수의 상위호환버전이라고 생각하시면 됩니다.
insert()함수는 요소를 추가하고 싶은 위치도 정해줄 수 있습니다.
1
2
3
|
abc = [1,2,3,4,5]
abc.insert(0,0)
print(abc)
|
cs |
abc라는 리스트의 0번째 인덱스에 0이라는 요소를 추가했습니다.
출력값은 [0, 1, 2, 3, 4, 5]입니다.
3-1 리스트의 요소 제거하기
리스트의 요소는 pop(),remove(),clear()함수를 이용해서 제거할 수 있습니다.
1. pop()함수
pop()함수는 인덱스 번호를 이용해서 요소를 제거하는 함수입니다.
1
2
3
|
abc = [1,2,3,4,5]
abc.pop(4)
print(abc)
|
cs |
pop(4)는 리스트의 4번째 인덱스인 5 요소를 제거합니다.
그러므로 출력값은 [1, 2, 3, 4]입니다.
2. remove()함수
pop()함수가 인덱스 번호를 이용해 제거하는 것이라면 remove()함수는 값으로 제거하는 함수입니다.
1
2
3
|
city = ["대전", "서울", "광주", "대구", "울산", "부산", "인천"]
city.remove("인천")
print(city)
|
cs |
remove("인천")은 리스트에서 인천이라는 요소를 제거합니다.
그러므로 출력값은 ["대전", "서울", "광주", "대구", "울산", "부산"]입니다.
3. clear()함수
clear()함수는 리스트 내부의 모든 요소를 제거합니다.
4. 리스트 정렬하기
sort()함수를 이용해서 오름차순으로 정리할 수 있습니다.
1
2
3
4
5
6
|
nums = [1,3,5,32,5,12,3356,2134,12,5,7,3,1,6,8,43,67,8]
nums.sort()
print(nums)
nums.sort(reverse=True)
print(nums)
|
cs |
sort(reverse= True)를 이용하면 내림차순으로도 정리할수 있습니다.
오름차순 & 내림차순으로 정리한 출력 값입니다.