관리 메뉴

프론트엔드 정복하기

파이썬 리스트 본문

패스트캠퍼스 - 자료구조와 알고리즘/파이썬 기초 문법

파이썬 리스트

GROWNFRESH 2021. 7. 21. 08:31

리스트 인덱싱

: 특정 1개 요소 선택

 ** index 가 -1이면 : 마지막 요소를 뜻함

square = [1,2,3]

print(square[-1])    # 3

 

리스트 슬라이싱

: 리스트[ firstIndex : lastIndex ]

(마지막 인덱스 직전 요소까지 출력함. 원하는 요소까지 출력하려면 --> 원하는 index + 1)

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

print(square[2:])
# [3, 4, 5]

print(square[:2])
# [1, 2]

print(square[1:2])
# [2]

print(square[-3:])
# [3, 4, 5]

 

리스트 수정

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

square[1] = 5
# [1, 5, 3]

square[2:4] = 6
# [1, 5, 6, 6, 5]

// remove

square[2:4] = []
# [1, 5, 5]

square[:] = []
# []

 

리스트 복사

a = [1,2,3,4]

 

1) b=a (js 얕은복사와 비슷)

print(a is b)    # True

# a 리스트 항목 변경 --> b도 변경

2) b=a[:] (새로운 리스트를 반환)

print(a is b)    # False

# a 리스트 항목 변경 --> b에 영향 x

3) b=a.copy() (복사본 생성)

: 2)의 결과와 동일

 

 

리스트에 추가

  • + 연산자: 원본(a) 변경 x
  • -- 아래부터는 원본 리스트를 변경 --
  • extend()
  • append(): 새 항목 추가 (배열로 추가하면 배열까지 추가)
  • insert(index, data): data를 특정 index에 추가
a = [1,2,3,4,5]

a + [6,7]
# [1,2,3,4,5,6,7]

a.extend([6,7])
# [1,2,3,4,5,6,7]

a.append(6)
# [1,2,3,4,5,6]

a.append([6,7])
# [1,2,3,4,5,[6,7]]

a.insert(특정 index, 12)
# [1,2,12,3,4,5]

 

리스트 중첩

a=[1,2,3]
b=[2,3,2]

c=[a,b]    # [[1,2,3],[2,3,2]]

 

 

리스트 삭제

[:], clear(), del, remove(), pop()

data = ['1','2','3','4','5']

data[:]=[]

data.clear()

del data[index]

del data[start:end:step]

del data[0:-1:2]
# ['1','3','5']

data.remove('3')
# 특정항목 제거, 동일한 값이 여러개일 경우 첫번째 값만 제거

data.pop(index)
# 특정 index 항목을 꺼내 리턴하고, 리스트에서 삭제

test = data.pop(0)
# test: ['1'] / data: ['2','3','4','5']

data.pop()
# 리스트의 마지막 요소를 꺼내 리턴하고, 리스트에서 삭제

 

 

리스트 정렬

sort()함수는 리스트 요소를 '숫자 -> 영문 대문자 -> 영문 소문자' 순으로 정렬

data=['a', 'ab', 'A', 'a1', '1']

data.sort()
# ['1', 'A', 'a', 'a1', 'ab']

 

 

리스트 항목 뒤집기

data=[1,2,3]

data.reverse()    # [3,2,1]

 

리스트 병합 및 반복

+, * 연산자

a=[1,2,3]
b=[4,5,6]

c = a + b

d = a*2     # [1,2,3,1,2,3]

 

리스트 검색

index(data), count(data) : (몇번째 index인지, 몇 개가 있는지)

a = ['a', 'b', 'c', 'a']

a.index('a')  # 0
a.count('a')  # 2

 

리스트 항목 개수

data=[1,2,3]
len(data)
# 3

 

 

 

그 외

- 리스트 내포

- 제너레이터 객체

 

 

참고 사이트

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sisosw&logNo=221326583311