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(", ") # 띄어쓰기와 콤마를 구분자로 사용
댓글 영역