본문 바로가기
언어/파이썬

파이썬 리스트의 모든 것 (feat. 리스트 컴프리헨션, 리스트 메서드)

by tovantablack 2021. 6. 6.
728x90
728x90

리스트는 대괄호 안에 원소를 넣어 초기화하고, 쉼표로 원소를 구분한다. 리스트의 원소에 접근할 때는 인덱스 값을 괄호 안에 넣어야 하고, 인덱스는 0부터 시작해서 뒤에서부터 셀 때는 -를 붙이면 되는데 +0과 -0은 같은 것이기 때문에 -1부터 시작해서 마지막 원소는 -1로 호출할 수 있다.

 

리스트 인덱싱 : 인덱스 값을 입력해서 특정 원소에 접근하는 것

슬라이싱:  특정 부분 잘라서 가져오는 것으로, (시작:부르고 싶은 마지막 애 +1) 로 써야 한다. 0부터 시작하고 마지막은 포함하지 않는다는 것을 잊지 말아야 한다.

리스트 초기화, 인덱싱, 슬라이싱, 컴프리헨션 코드

# 크기가 n 인 1차원 리스트 초기화
n = 10
a = [0] * n

# 인덱싱: 뒤에서 첫 번째 원소 출력
a = [0,1,2,3,4,5]
print(a[-1])

# 슬라이싱: 2번째 원소부터 4번째까지
print(a[1:4]) #프린트 결과:[1,2,3]

# 리스트 컴프리헨션을 사용해서 초기화

# 0 ~ 19 중에 홀수만 리스트화
array = [i for i in range(20) if i % 2 == 1]

# 1 ~ 9 까지 해당 숫자 제곱값 리스트화
array = [ i * i for in range(1, 10)]

# 0으로 초기화 된 2차원 리스트 
n, m = 3, 3
array = [[0] * m for _ in range(n)]

 

2차원 리스트를 초기화할 때는 반드시 리스트컴프리헨션을 써야 초기화가 제대로 된다. 

마지막은 리스트컴프리헨션을 안 쓰고 값을 바꿨을 때 발생하는 현상

리스트 메서드

a = [3, 5, 2]

# 원소 삽입
a.append(1) 	 # a = [3, 5, 2, 1]

# 오름차순 정렬
a.sort()  		# a = [1, 2, 3, 5]

# 내림차순 정렬
a.sort(Reverse = True) 		 # a = [5, 3, 2, 1]

# 원소 순서 뒤집기
a.reverse() 		# a = [1, 2, 3, 5]

# 특정 인덱스에 데이터 추가: 인덱스 3에 4 추가
a.insert(3, 4)		# a = [1, 2, 3, 4, 5]

# 특정 값 개수 세기
a.count(2)		#1

# 특정 값 삭제
a.remove(1)		# a = [2, 3, 4, 5]

 

전부 삭제 메서드는 없다.

 

동빈좌에 따르면

~에 포함되어 있지 않은 원소만 리스트에 남기는 방법이 있는데

a = [1, 2, 3, 5, 5, 5]
remove_set = {5}

result = [i for i in a if i not in remove_set]
#print(result) => [1, 2, 3]

 

728x90
728x90

댓글