[Python]파이썬 기초문법3 - [리스트(list)]
이번 포스트는 [리스트(list)]에 관한 내용입니다.
1️⃣ 리스트 (list)
(1) 리스트 전체 출력
number = [1, 3, 5, 7, 9]
subject = ["국어", "수학", "과학", "미술"]
print(number)
print(subject)
[1, 3, 5, 7, 9]
['국어', '수학', '과학', '미술']
(2) 인덱스(index)를 이용한 출력
number = [1, 3, 5, 7, 9]
subject = ["국어", "수학", "과학", "미술"]
print(number[0])
print(subject[1])
print()
cnt = 0
1
수학
(3) 음수 인덱스를 이용한 출력
number = [1, 3, 5]
print(number[0])
print(number[-0])
print(number[-1])
print(number[-2])
print(number[-3])
1
1
5
3
1
(4) while문을 이용한 출력
방법1
number = [1, 2, 3, 4, 5]
i = 0
while (i < 5):
print(number[i])
i += 1
방법2 (len함수 이용)
number = [1, 2, 3, 4, 5]
i = 0
while (i < len(number)):
print(number[i])
i += 1
1
2
3
4
5
(4) 리스트 대입
number = [1, 2, 3 , 4]
number[0] = 5
print(number)
(5) 리스트 슬라이싱(list slicing)
subject = ["국어", "수학", "과학", "미술"]
print(subject[0:4]) # 0 ~ 3 (index)
print(subject[2:]) # 2 ~ (index)
print(subject[:3]) # ~ 2 (index)
['국어', '수학', '과학', '미술']
['과학', '미술']
['국어', '수학', '과학']
(6) 리스트 슬라이싱 응용
number = [1, 2, 3, 4, 5]
new_list = number[2:] # [3, 4, 5]
print(new_list[1])
4
2️⃣ 리스트 함수
(1) 리스트 요소 추가(append)
- 가장 오른쪽에 요소를 추가 합니다.
number = []
number.append(1)
number.append(2)
print(number)
[1, 2]
(2) 리스트 요소 삭제(del)
number = [1, 2, 3, 4, 5, 6]
del number[2] # 3 삭제
print(number)
[1, 2, 4, 5, 6]
(3) 리스트 요소 삽입(insert))
number = [1, 2, 3, 4, 5, 6]
number.insert(2, 11) # 2번자리에 11삽입
print(number)
[1, 2, 11, 3, 4, 5, 6]
(4) 리스트 정렬(sorted)
- 리스트 정렬은 여러가지 방법이 있습니다.
- sorted를 이용하면 원본은 보존하고 정렬된 값을 반환합니다.
- sort()를 이용하면 원본을 정렬된 상태로 변경해줍니다.
< sorted() >
number = [3, 2, 1, 9, 4, 6]
new_list = sorted(number)
new_list_rev = sorted(number, reverse=True)
print(new_list)
print(new_list_rev)
print(number)
[1, 2, 3, 4, 6, 9]
[9, 6, 4, 3, 2, 1]
[3, 2, 1, 9, 4, 6]
< sort() >
number = [3, 2, 1, 9, 4, 6]
number.sort()
print(number) # 리스트 원본이 정렬됨
number.sort(reverse=True)
print(number)
[1, 2, 3, 4, 6, 9]
[9, 6, 4, 3, 2, 1]
< reverse() >
number = [3, 2, 1, 9, 4, 6]
number.reverse() # 정렬하지않고 그대로 역순으로 배치합니다.
print(number)
[6, 4, 9, 1, 2, 3]
3️⃣ 리스트 응용
(1) 리스트 값 확인(in)
< 직접함수를 구현 >
def check_value(list, value):
i = 0
while (i < len(list)):
if (list[i] == value):
return True
i += 1
return False
temp = [1, 2, 3, 5, 6]
print(check_value(temp, 2))
print(check_value(temp, 4))
True
False
- 리스트의 값을 확인하는 것은 너무 자주 있는 일이기 때문에 파이썬에서는 in이라는 키워드가 내장되어 있습니다.
< in키워드 사용 >
temp = [1, 2, 3, 5, 6]
print(7 in temp)
print(2 in temp)
print(2 not in temp)
False
True
False
(2) 리스트 안의 리스트(Nested list)
- C언어에서 이중배열의 느낌의 리스트입니다.
temp = [[2, 4, 6], [3, 6, 9], [4, 8, 12]]
print(temp[1])
print(temp[0][0])
print(temp[1][1])
print([2, 4, 6] in temp)
[3, 6, 9] 2 6 True
(2) .index 기능
subject = ["국어", "수학", "과학", "영어"]
print(subject.index("수학"))
print(subject.index("영어"))
1
3
(3) .remove 기능
subject = ["국어", "수학", "과학", "영어", "수학"]
subject.remove("수학")
print(subject)
subject.remove("수학")
print(subject)
['국어', '과학', '영어', '수학']
['국어', '과학', '영어']
< 파이썬[Python] 기초문법 포스트 목차 >
1. 파이썬 기초문법1 [자료형, 기본출력, 함수, 불린형, type함수]
2. 파이썬 기초문법2 [옵셔널 파라미터, 변수(글로벌, 로컬), PEP8, while, if]
>> 파이썬 기초문법3 [리스트(list)]
4. 파이썬 기초문법4 [for, dictionary(사전), 앨리어싱, 리스트와 문자열]
5. 파이썬 기초문법5 [모듈, 표준 라이브러리 모듈, datetime모듈]
6. 파이썬 기초문법6 [input, 파일 입출력함수, strip, split, 여러개 리턴값]