리스트 컴프리헨션
- 리스트를 초기화 하는 방법
- 조건문과 반복문을 활용하여 초기화
- 2차원 리스트를 초기화할 때 가장 효과적
array = [i for i in range(10)] #0~9까지 리스트 초기화
array = [i for i in range(10) if i % 2 == 1] #0~9까지 홀수만 포함
array = [i * i for i in range(1,10)] #1~9까지 i제곱만 포함
array = [[0] * m for _in range(n)] # N*M 크기의 2차원 리스트 초기화
N * M 크기의 2차원 리스트 초기화
n = 4
m = 3
array = [[0] * m for _in range(n)]
print(array)
#실행 결과
[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]
_ 언더바 사용
- 반속을 수행할 때 반복을 위한 변수의 값을 무시하고자 할 때 사용
for _in range(5):
print("Hello World")
리스트 관련 기타 메소드
함수명 | 사용법 | 설명 | 시간 복잡도 |
append() | 변수명.append() | 리스트에 원소를 하나 삽입할 때 사용 | O(1) |
sort() | 변수명.sort() | 기본 정렬 기준으로 오름차순 정렬 | O(NlogN) |
변수명.sort(reverse = True) | 내림차순으로 정렬 | ||
reverse() | 변수명.reverse() | 리스트의 원소의 순서를 모두 반대로 | O(N) |
insert() | insert(삽입할 위치, 값) | 특정 인덱스 위치에 원소를 삽입 | O(N) |
count() | 변수명.count(특정 값) | 리스트에서 특정한 값을 지닌 데이터의 개수 | O(N) |
remove() | 변수명.remove(특정 값) | 특정한 값을 지닌 원소를 제거, 여러개면 하나만 | O(N) |
a = [4,3,2,1]
a.reverse() #리스트 원소 뒤집기
[1,2,3,4]
a.insert(2,3) #특정 인덱스 추가
[1,2,3,3,4]
a.count(3) #특정 값 데이터 수 세기
2
a.remove(1) #특정 값 데이터 삭제
[2,3,3,4]
리스트에서 특정 값을 가지는 원소를 모두 제거하기
a = [1,2,3,4,5,5,5]
remove_set = {3,5}
result = [i for i in a if not in remove_set]
a라는 리스트가 i라는 변수를 하나씩 확인해서 remove_set 집합에 들어있지 않는 변수를 result를 출력
즉 3, 5아닌 모든 수를 저장
실행 결과
[1,2,4]