본문 바로가기
Language/Python

[Python] 리스트(List) 개념 정리

by SooooooooS 2023. 3. 20.
728x90
https://wikidocs.net/book/1
 

점프 투 파이썬

이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 …

wikidocs.net


리스트(List)

listName = [요소1, 요소2, 요소3, ...]

리스트를 만들 때는 위에서 보는 것과 같이 대괄호([ ])로 감싸 주고 각 요솟값은 쉼표(,)로 구분해 준다.

또는 list() 함수를 사용하여 생성할 수 있다.

# list() 함수를 사용하여 생성
listFunction = list("python")
print(listFunction)

list()함수로 생성한 리스트 출력

# 비어있는 리스트 -> emptyList = list() 로 생성가능
emptyList = [] 
# 숫자 리스트
numList = [1, 2, 3, 4, 5]
# 문자열 리스트
StringList = ['one', 'two', 'three', 'four', 'five']

# 숫자, 문자 다양한 자료형을 요소로 갖는 리스트
complexList = [1, 2, 'three', 'four', 'five']
# 리스트를 요소로 갖는 리스트
complexList2 = [1, 2, ['three', 'four', 'five']]

이와 같이 파이썬에서 리스트는 여러 자료형을 가진 여러 데이터를 하나의 변수에 저장할 수 있는 자료형이다.


1. 리스트 인덱스

리스트의 인덱스는 0번 부터 시작한다.

이때, 리스트의 끝부터 접근할 때 -1, -2 와 같이 인덱스를 음수로 표현할 수 있다.

list = ['짱구', '철수', '훈이', '유리', '맹구']

print(list[0]) #짱구
print(list[1]) #철수
print(list[-1]) #맹구
print(list[-2]) #유리

★ 리스트 속 리스트 요소 접근하기 ★

list2 = [1, 2, ['three', 'four', 'five']]

print(list2[2][0]) #three
print(list2[2][1]) #four

위의 예시에서 list2[2] = ['three', 'four', 'five'] 이므로 리스트이다.

list2[2] 리스트에 접근을 하기 위해 위와 같이 한번 더 인덱스를 써주면 된다.


2. 리스트 슬라이싱

list[startIndex:finishIndex]

슬라이싱(slicing) = 나눈다.

인덱스를 쓰는 것처럼 대괄호 안에 나눠서 남길 부분의 시작 인덱스와 끝 인덱스를 써준다.

이때 주의할 점은 시작인덱스는 나누는 부분에 포함이 되지만 끝 인덱스는 포함되지 않는다.

list = ['one', 'two', 'three', 'four', 'five']

print(list[0:3]) # 0,1,2
print(list[:3]) # 0번 즉, 처음부터 3번 이전까지 = 2까지 포함
print(list[3:]) # 3번부터 끝까지


3. 리스트 연산

numList = [1, 2, 3, 4, 5]
StringList = ['one', 'two', 'three', 'four', 'five']

#리스트 더하기 +
print(numList + StringList)

#리스트 반복하기 *
print(numList * 2)

#리스트 길이 구하기 = 원소의 개수
print(len(numList))

1. 더하기 2. 반복하기 3. 길이 구하기


4. 리스트 함수

list = [1, 2, 3, 4, 5]

# 리스트 값 수정하기
list[0] = 0
print('0번 인덱스 값 수정 : ', list)

# 리스트 값 삭제하기 - del
del list[0] # del 명령어는 객체를 삭제한다.
print('0번 인덱스 값 삭제 : ', list)

# 리스트 값 추가하기
list.append(1)
print('끝에 새로운 값 추가 : ', list)

# 리스트 정렬하기
list.sort()
print('리스트 오름차순 정렬 : ', list)

# 리스트 뒤집기
list.reverse()
print('리스트 뒤집기 : ', list)

# 리스트 속 요소의 인덱스 반환하기
print('3번 인덱스 값 : ', list.index(3))

# 리스트 요소 삽입
list.insert(0, 100)
print('0번 인덱스에 100 삽입하기 : ', list)

# 리스트 요소 제거하기 - remove
list.remove(3) # 여러 개일 경우 가장 처음 발견되는 요소만 삭제한다. 
print('요소 3 삭제 : ', list)

# 요소 끄집어 내고 삭제하기 - pop()
print('마지막 인덱스 값 : ', list.pop())
print('0번 인덱스 값 : ', list.pop(0))
print('pop() 실행 후 list : ', list)

# 리스트에 포함된 개수 세기
print('리스트 속에 5의 개수 : ', list.count(5))

# 리스트 확장하기
# 이는 list += [100, 200, 300]과 동일하다.
list.extend([100, 200, 300])
print('list 확장 : ', list)

728x90