파이썬에는 두 가지 다른 시퀀스 구조가 있다.
튜플과 리스트이다.
문자열과는 달리 각 요소는 어떤 객체도 될 수 있다.
튜플은 불변하고(항목을 할당하고 바꿀 수 없다.)
리스트는 변경 가능하다(항목을 할당하고 자유롭게 수정, 삭제가 가능하다)
3-2 리스트
콤마(,)로 구분하고, 대괄호([])로 둘러싸여있다.
다른 타입의 요소를 포함할 수 있다.
생성 -> [], list()
list() : 다른 데이터 타입을 리스트로 변환하기
리스트는 offset을 이용해 항목 수와 항목 내용을 바꿀 수 있다. <문자열은 불가능>
marxes = ['Groucho', 'Chico', 'Harpo']
marxes[2] = 'Wanda'
print(marxes)
append() : 리스트의 끝에 항목 추가하기
extend() 또는 '+=' : 리스트의 병합
marxes = ['Groucho', 'Chico', 'Harpo']
others = ['Gummo', 'Karl']
marxes.extend(others)
print(marxes)
insert() : 원하는 위치에 항목추가 가능
[0은 시작지점에, 리스트를 넘으면 append()와 같이 끝에 추가된다.]
marxes = ['Groucho', 'Chico', 'Harpo']
marxes.insert(1,'Karl')
print(marxes)
del : 오프셋으로 항목 삭제
remove() : 값으로 항목 삭제
marxes = ['Groucho', 'Chico', 'Harpo']
del marxes[1]
print(marxes)
pop() : 오프셋으로 항목을 얻은 후 삭제
-> pop(0) : 리스트의 헤드 반환, pop() : 리스트의 테일 반환
index() : 값으로 항목 오프셋 찾기
join() : 문자열 혹은 반복 가능한 문자열의 시퀀스를 인수로 가지고 문자열을 반환한다.
join()과 split()은 반대
friends = ['Harry', 'Hermione','Ron']
seperator = ' * '
joined = seperator.join(friends)
print(joined)
seperated = joined.split(' * ')
print(seperated)
print(seperated == friends)
sort : 내부적으로 리스트 자체를 정렬
sorted : 정렬된 리스트 복사본을 반환
기본은 오름차순, 반대로 하고싶다면 인자에 reverse = True 추가
리스트를 복사하는 방법
1. copy() 함수
2. list() 반환 함수
3. 슬라이스[:]
a = [1,2,3]
b = a.copy()
c = list(a)
d = a[:]
print(b,c,d)
-> b,c,d는 a의 복사본이다.
'프로그래밍 > 파이썬🐍' 카테고리의 다른 글
(4)처음시작하는 파이썬_[4장파이크러스트:코드구조] (0) | 2022.01.11 |
---|---|
(3)처음시작하는 파이썬_[3-3튜플,셋,딕셔너리:3-8] (0) | 2022.01.10 |
(1)처음시작하는파이썬[chapter2] (1) | 2022.01.10 |
[완독](11)점프투파이썬_6장 파이썬 프로그래밍, 어떻게 시작해야 할까? (0) | 2022.01.09 |
(10)점프투파이썬_[5-6외장함수] (0) | 2022.01.09 |