프로그래밍/파이썬🐍

(2)처음시작하는파이썬_[3-1:3-2]

개발자 덕구🐾 2022. 1. 10. 17:56
728x90

파이썬에는 두 가지 다른 시퀀스 구조가 있다. 

튜플과 리스트이다. 

 

 

문자열과는 달리 각 요소는 어떤 객체도 될 수 있다. 

튜플은 불변하고(항목을 할당하고 바꿀 수 없다.)

리스트는 변경 가능하다(항목을 할당하고 자유롭게 수정, 삭제가 가능하다)

 

 

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의 복사본이다. 

 

반응형