반응형
리스트(List)
복수개의 값을 담을 수 있는 데이터 구조이다. 실생활에서 사용하는 리스트(학생 리스트, 성적 리스트 등등)과 동일한 의미로 이해 가능하다.
리스트 초기화
[] 안에 값을 담아서 생성가능하다.
- list() 함수로 생성
- str.split()함수로 생성
a=[]
print(a)
a=['korea',1,2,3,4]
list() 함수
다른 데이터 타입을 리스트로 변환할 때도 사용한다.
a='hello world'
b=list(a)
print(b)
c= (1,2,3)
d=list(c)
print(d)
#output
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
[1, 2, 3]
string split 함수
구분자로 구분되는 리스트를 반환한다.
a='hello world. nice weather'
a.split()
#output
['hello', 'world.', 'nice', 'weather']
리스트 indexing
문자열의 인덱싱과 동일하게 동작한다.
- [] 연산자를 이용하여 항목 얻어오기
- [i] - i번째 원소를 반환
- i가 음수인 경우도 가능하며 마지막원소가 -1로 하여 앞으로 갈때마다 1씩 감소한다
a=[1,2,3,4,5,6]
print(a[2])
print(a[4])
print(a[-1])
#output
3
5
6
리스트 개별 아이템에 접근
인덱스에 접근하여 값을 업데이트 가능하다. 이후배울 tuple과의 차이점이기도 하다.
- list - mutable (생성된 후에 변경 가능)
- tuple - immutable (생성된 후에 변경 불가능)
a=[1,2,3,4,5]
a[0]=100
print(a)
#output
[100, 2, 3, 4, 5]
리스트 slicing
문자열 슬라이싱과 동일하게 동작한다. 슬라이싱의 결과 역시 list이다.
a=[1,2,3,4,5,6,7,8]
print(a[4:7])
print(a[:7])
print(a[4:])
print(a[:])
#slicing
#start:end:increment
a[1:7:2]
#output
[5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
[5, 6, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8]
[2, 4, 6]
list 멤버 함수
생성된 리스트 객체에 동작하는 함수이다. 향후, 클래스와 멤버 함수 개념을 이해할 예정이다.
- append(): 리스트의 끝에 항목을 추가함
- extend(): 리스트를 연장, += 로도 가능함
- insert(): 리스트의 원하는 위치에 항목추가 가능. 앞에 인덱스를, 뒤에 아이템을 명시
- remove(): 값으로 항목 삭제
- pop(): 지우고자 하는 아이템을 반환 후, 삭제
- index(): 찾고자 하는 값의 인덱스 반환
- in 키워드: 리스트 내에 해당 값이 존재하는지 확인. value in [list], True, False 중 한가지로 반환
- sort(): 리스트 자체를 내부적으로 정렬
- sorted(): 리스트의 정렬된 복사본을 반환
a= [1,2,3,4,5,6,7,8,9]
a.append(10)
a #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-------------------------------------------------------------------------------------------------
a= [1,2,3,4,5]
b= [6,7,8,9]
a.append(b)
print(a) #[1, 2, 3, 4, 5, [6, 7, 8, 9]]
a.extend(b)
print(a) #[1, 2, 3, 4, 5, [6, 7, 8, 9], 6, 7, 8, 9]
a+=b
print(a) #[1, 2, 3, 4, 5, [6, 7, 8, 9], 6, 7, 8, 9, 6, 7, 8, 9]
a=[1,2,3,4,5]
a.insert(1,40)
a #[1, 40, 2, 3, 4, 5]
--------------------------------------------------------------
a=[1,2,3,4,5]
a.remove(2)
b=[1,2,2,3,4,5]# 두개인 경우 먼저나온 값을 지움
b.remove(2)
b #[1, 2, 3, 4, 5]
--------------------------------------------------------------
a=[1,2,3,4,5]
d = a.pop(1) # index기준
print(a,d) #[1, 3, 4, 5] 2
--------------------------------------------------------------
a=[2,4,6,7,10]
a.index(4) #1
--------------------------------------------------------------
a=[2,4,6,7,10]
b=7
c = b in a
print(c) #True
--------------------------------------------------------------
a=[3,5,3,7,8,5,54,13]
a.sort()
a #[3, 3, 5, 5, 7, 8, 13, 54]
a.sort(reverse=True)
a #[54, 13, 8, 7, 5, 5, 3, 3]
--------------------------------------------------------------
b = a.sort(reverse=True)
print(b) #None
b= sorted(a)
print(b) #[3, 3, 5, 5, 7, 8, 13, 54]
반응형
'IT > Python' 카테고리의 다른 글
[코딩] 문자열 타입의 이해, 데이터 타입과 컬렉션 (0) | 2022.11.22 |
---|---|
[코딩]기본 타입 및 변수의 이해, 데이터 타입과 컬렉션 (0) | 2022.11.22 |
댓글