반응형
List (순차적 저장하는 집합 자료형)
- 여러개의 값을 저장할 때 사용
- 대괄호 [ ] 를 사용하여 리스트 사용
- 순서가 존재하며 인덱스의 값을 가짐
- 값 변경이 가능
- 리스트 안의 값들은 여러 자료형을 저장하여 사용 가능
(문자열, 정수, 실수 또한, 리스트 안에 리스트 사용 가능)
리스트 사용 방법 (리스트 선언 및 값 추가)
- 변수 = [ n1, n2, n3... ]
- 변수에 값을 넣는 방법은 기존과 같으나 대괄호로 구분하여 여러 값 저장 가능
customer = [ '홍길동', '김철수' ]
>>>['홍길동', '김철수']
mylist = [ 'Red', [1,2,3], ['Red', 4, 5] ]
>>> ['Red', [1,2,3], ['Red', 4, 5]]
리스트에서 값 추출하기 (=Slicing)
- 인덱스를 사용하여 특정 인덱스에 저장된 값 호출
- 리스트 안의 리스트를 사용시 대괄호 [ ] 로 접근
week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
week[2]
>>> 'Wed'
# 화요일부터 목요일까지만 불러오기
week[1:4]
>>> ['Tue', 'Wed', 'Thu']
mylist = [ 'Red', [1,2,3], ['Red', 4, 5] ]
my_list[2][2]
>>> 5
my_list[2][0][0:1]
>>> 'R'
리스트에 저장된 값 변경하기
- 인덱스로 접근하여 값 덮어씌우기 가능
week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
# 월요일을 일요일로 바꿔보기
week[0] = 'Sun'
week[0]
>>> 'Sun'
리스트에 항목 추가
Append
- .append( 새로운 값 ) : 맨 뒤에 값 추가
week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
week.append('Sun')
week # 맨 뒤에 값 추가
>>> ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sun']
Insert
- .insert( index , 바꿀 값) : 특정 위치에 값 추가, 해당 위치의 기존 데이터들은 인덱스 +1
week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
week.insert(0, 'Sun')
>>> ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri']
week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
week.insert(5, 'Sun')
>>> ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sun']
리스트의 항목 삭제
del
- .del list[ index ] : 특정 위치의 값 삭제
week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
# 금요일 지우기
del week[4] # 인덱스로 접근
>>> ['Mon', 'Tue', 'Wed', 'Thu']
remove
- .remove( 'strings' ) : 특정 문자열 삭제
week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
# 목요일 지우기
week.remove('Thu') # 문자열로 접근, 대소문자 주의
>>> ['Mon', 'Tue', 'Wed', 'Fri']
pop
- .pop( index ) : 특정 위치의 값 삭제
week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
# 화요일 지우기
week.pop(1) # 인덱스로 접근
>>> ['Mon', 'Wed', 'Thu', 'Fri']
# 마지막 값 지우기
week.pop() # 인수 미설정 시 가장 마지막 값 제거
>>> ['Mon', 'Wed', 'Thu']
remove와 pop 차이점
- remove와 pop은 리스트 뒤에 온점(.)을 사용하여 삭제하지만 데이터에 접근하는 방식이 다름
remove | pop | |
데이터 접근 방법 | 문자열로 접근 | 인덱스로 접근 |
리스트 합치기 (연산)
- 리스트끼리 +연산 가능
- 리스트1 + 리스트2 = 리스트1 , 리스트2
fruits = []
fruits.append('사과')
fruits.append('배')
>>> ['사과', '배']
others = ['망고', '오렌지']
>>> ['망고', '오렌지']
fruits = fruits + others # 리스트끼리 연산 가능
fruits
>>> ['사과', '배', '망고', '오렌지']
리스트의 순서(index)와 값 확인(in)
index
- .index( 'strings' )
- 찾는 문자열 값이 있으면 인덱스 반환, 값이 여러개일 경우 첫번째 값만 반환
- 찾는 값이 존재하지 않을 경우, 에러가 출력
fruits = ['사과', '배', '망고', '오렌지']
# 오렌지가 어디있는지 찾아보기
fruits.index('오렌지') # 인덱스 값을 반환
>>> 3
# 포도가 어디있는지 찾아보기
fruits.index('포도') # 없을 경우 에러 출력
>>> ValueError: '포도' is not in list
in
- 'strings' in list : 찾는 문자열 값이 있으면 True 값 반환, 없으면 False 값 반환
fruits = ['사과', '배', '망고', '오렌지']
'오렌지' in fruits
>>> True
'포도' in fruits
>>> False
리스트에서 중복되는 값의 갯수 세기
count
- list .count() 리스트에 중복되어 있는 값의 갯수를 카운팅
fruits = ['사과', '배', '망고', '오렌지']
# 리스트에 오렌지 갯수 확인하기
fruits.count('오렌지')
>>> 1
# 리스트에 포도 갯수 확인하기
fruits.count('포도')
>>> 0
리스트에 포함된 항목들의 전체 갯수 세기
len
- len( list ) : 총 항목의 수를 반환
fruits = ['사과', '배', '망고', '오렌지']
len(fruits)
>>> 4
리스트의 값 정렬하기
sorted / sort
- sorted( list )
- 함수 안의 인자를 넣어 정렬
- 메모리에 저장되지 않음
- list .sort()
- 변수 뒤에 온점(.) 뒤에 사용
- 메모리에 저장 됨
- 디폴트는 오름차순, 내림차순 reverse=True 옵션 추가
my_list = ['가', '나', '다']
### sorted는 메모리에 저장되지 않는다. ###
# 데이터 오름차순 정렬하기
sorted(my_list)
>>> ['가', '나', '다']
# 데이터 내림차순 정렬하기
sorted(my_list, reverse=True)
>>> ['다', '나', '가']
### sort()는 메모리에 저장된다. ###
# 데이터 오름차순 정렬하기
my_list.sort()
my_list
>>> ['가', '나', '다']
# 데이터 내림차순 정렬하기
my_list.sort(reverse=True)
my_list
>>> ['다', '나', '가']
반응형