- 선형 배열(Linear Arrays)
- List 활용
- 보통 array는 같은 type의 데이터만 원소로 존재 가능 (But List는 다른 type의 원소도 가능)
- 리스트(배열) 연산
#List의 길이와 무관한 연관/상수시간=> O(1) ...big O
List.append()
List.pop() #끝에서 하나의 원소를 꺼냄(list도 변함)
#List의 길이에 비례하는 연산/선형 시간=> O(n)
List.insert(3,65) #List.insert(삽입할 위치, 삽입할 원소)
del(List[2]) #2번 index의 원소를 삭제
List.pop(2) #return 값이 List[2], 위 del 함수는 return 값이 List
#원소 탐색=> 연산 시간 O(n)
List.index('Cat')
- 정렬된 리스트에 원소 삽입
def solution(L, x):
idx = 0
for i in range(len(L)):
if(x>L[i]):
idx+=1
L.insert(idx,x)
return L
###다른 풀이###
def solution(L, x):
L.append(x)
L.sort()
return L
- 리스트에서 원소 찾아내기
def solution(L, x):
if x in L:
answer = [ i if L[i]==x for i in range(len(L)) ]
else:
answer = [-1]
return answer
###다른 풀이1###
def solution(L, x):
if x in L:
return [i for i, y in enumerate(L) if y == x]
else:
return [-1]
###다른 풀이2###
def solution(L, x):
n = []
index = 0
for i in range(len(L)):
try:
number = index
index = L.index(x)
n.append(index+number+i)
L = L[index+1:]
except:
break
if len(n)==0:
answer = [-1]
else:
answer = n
return answer
- list.index(x[, start[, end]])
- enumerate
- 순서가 있는 자료형(list, set, tuple, dictionary, string)을 입력으로 받아 index 값을 포함하는 enumerate 객체를 리턴
- 결과 ⇒ index : 값
- 보통 for문과 함께 자주 사용