상세 컨텐츠

본문 제목

11. 파이썬 컬렉션 - List

프로그래밍 언어/Python(파이썬)

by 알파고제로 2023. 10. 13. 10:24

본문

1. List

■ List 특징

  • 배열과 같은 자료(시퀀스 구조, 즉 순서가 있다.), 수정 가능하다. 가변적이다.
  • 리스트의 요소는 일반적으로 같은 타입이지만 다른 타입을 섞어서 저장하는 것도 가능하다 (일반적이지는 않음)
  • 첨자로 음수 가능
  • + 연산자를 이용하면 두 개의 서로 다른 리스트를 붙일 수 있다.
  • [] 나 list()를 이용해 생성

■ List slicing

  • 문자열과 동일하게 슬라이싱 가능

Deep Copy

  • [:] 또는 copy Module의 deepcopy() 함수를 이용하여  깊은복사 가능

■ List 연산

  • + : 리스트 연결
  • * : 리스트 반복

■ List 관련 함수

함수명 설명
append() 리스트의 뒤에 데이터 추가하기
sort() 리스트를 정렬, 역순으로 정렬하기 위해서는 reverse=True 옵션
reverse() 리스트 요소순서를 뒤집는다.
index() 특정 요소의 위치반환
insert(위치, 데이터) 지정된 위치에 데이터를 삽입한다.
pop() 마지막 요소 리턴삭제
count(요소값) 특정 요소의 개수 세기
extend(리스트) 원래의 리스트를 매개변수로 전달한 리스트와 합쳐서 확장
len(리스트) 리스트 요소의 개수를 구함
# 리스트는 기본적으로 문자열과 유사.(시퀀스 구조, 순서가 있다.)
# 첨자에 음수를 쓸 수 있다. ==> 가장 끝 위치에 있는 요소는 무조건 -1 위치다
a = []
b = list()
c = [1, 2, 3]
d = ['python', 'java', 'c++']
e = [10, 20, 30, ['python', 'java']] # e[3][0] ==> 'python’

# 슬라이싱 [start:end:step]
a = [1, 2, 3, 4, 5, 6, 7]
b = a[:2]
print(b)

c = a[2:]   
print(c)

d = a[:]
# 얕은 복사
a = [1, 2, 3, 4, 5, 6, 7]
b = a 

a[2] = 20
print(b)

# 깊은 복사
c = a[:]
c[0] = 200
print(a)
print(c)

print(a is b)
print(a is c)

print('a의 위치', id(a))
print('b의 위치', id(b))
print('c의 위치', id(c))
# list의 연산 : +(연결), *(반복)
a = [1, 2, 3]
b = [4, 5, 6]

print(a + b)
print(a * 3)

# list에 들어있는 요소의 값 수정, 삭제
a = [1, 2, 3, 4, 5]
a[3] = 40

# a[1:2] = ['k','o','r','e','a']
# a[1] = ['k','o','r','e','a']
a[1:3] = []
del a[1]
# join()과 split()
s = ['서울', '대전', '대구', '부산', '제주', '인천']
" ".join(s)

# 문자열을 리스트로 변환 : split
s2 = "사과, 배, 바나나, 망고, 오렌지"
s2.split(", ") # 띄어쓰기와 콤마를 구분자로 사용

관련글 더보기

댓글 영역