해당 값의 인덱스를 반환한다
ex)
arr = [1,2,3,4,2,5,2,6,7]
idx = arr.index(2)
print(idx) # 1
idx = arr.index(2, 2)
print(idx) # 4
idx = arr.index(2,5,8)
print(idx) # 6
배열의 길이를 구할 수 있다.
방법: len(배열이름)
arr = ["a", "b", "c"]
print(len(arr)) #3
배열의 원소로 동일한 숫자의 원소를 가지는 배열을 가지는 경우 예) arr = [[1,5],[4,6],[7,3]]
, for 문을 이용해 내부 원소인 배열의 값들에 한번에 접근할 수 있다. 단, 내부 배열들의 원소 개수가 동일해야 한다.
ex)
arr = [[1,5], [4,6], [7,3]]
for f, s in arr:
print(f, s) # 1 5, 4 6, 7 3
arr = [[1,5,6], [4,2,6], [9,7,3]]
for f, s, t in arr:
print(f, s, t) # 1 5 6, 4 2 6, 9 7 3
리스트를 오름차순/내림차순으로 정렬해준다. 리스트 자체(자신)를 정렬하기 때문에 반환값은 None이다.
방법
오름차순: 리스트명.sort()
내림차순: 리스트명.sort(reverse=True)
ex)
arr = [4,6,1,9,3,5,10,0]
result = arr.sort()
print(arr) #[0,1,3,4,5,6,9,10]
print(result) #None
arr.sort(reverse=True)
print(arr) #[10,9,6,5,4,3,1,0]
리스트를 오름차순/내림차순으로 정렬해준다. 리스트 원본 값은 그대로이고 정렬된 리스트를 반환한다.
방법
오름차순: sorted(리스트명)
내림차순: sorted(리스트명, reverse = True)
ex)
arr = [4,6,1,9,3,5,10,0]
new_arr = sorted(arr)
print(new_arr) #[0,1,3,4,5,6,9,10]
print(arr) #[4,6,1,9,3,5,10,0]
new_arr = sorted(arr, reverse=True)
print(new_arr) #[10,9,6,5,4,3,1,0]
print(arr) #[4,6,1,9,3,5,10,0]
원하는 인덱스의 위치에 값을 집어넣는다. 해당 위치에 있던 값은 뒤로 밀려난다(한칸씩 다 밀리게 된다)
방법: 배열이름.insert(삽입할 위치, 값)
ex)
arr = ["a", "b", "c", "d", "e"]
arr.insert(1, "f")
print(arr) # a,f,b,c,d,e
arr.insert(-2, "g")
print(arr) # a,f,b,c,g,d,e
인덱스와 슬라이스:
를 이용해 특정 범위의 요소을 반환
(a가 양수인 경우 가정)
ex)
arr = ["a", "b", "c", "d", "e"]
print(arr[0:3]) #a,b,c
print(arr[1:]) #b,c,d,e
print(arr[:2]) #a,b
print(arr[-3: ]) #c,d,e
print(arr[ :-3]) #a,b
인덱스와 슬라이스:
를 이용해 특정 범위의 요소를 삭제(remove는 값을 이용)
방법 : del 배열이름[...]
ex)
arr = ["a", "b", "c", "d", "e"]
del arr[1]
print(arr) #a,c,d,e
del arr[-2]
print(arr) #a,d,e
del arr[0:2]
print(arr) #e
arr = ["a", "b", "c", "d", "e"]
del arr[ :-2]
print(arr) #d,e
arr = ["a", "b", "c", "d", "e"]
del arr[-3: ]
print(arr) #a,b
del 과 동일하게 인덱스를 이용하여 요소를 삭제하지만 pop 은 삭제한 요소의 값을 반환한다는 점에서 삭제한 요소의 값을 반환하지 않는 del 과 차이가 있다.
방법: 배열이름.pop(...)
del 과 pop 은 특정 인덱스를 삭제한 다음, 배열을 재조정한다.
ex)
arr = [1,2,3,4,5]
result = arr.pop(4)
print(result) #5
print(arr) #[1,2,3,4]
result = arr.pop(1)
print(result) #2
print(arr) #[1,3,4]
배열에서 여러개의 인덱스 위치의 요소들을 삭제해야 할 경우, del과 pop등을 사용하면 삭제할때마다 배열이 재조정되기 때문에 주의하여야 한다.
따라서 삭제할 인덱스들 중에서 가장 큰 값부터 작은값까지 뒤에서부터 차례대로 삭제해야 배열의 재조정에 상관없이 올바르게 삭제할 수 있다.
값(value)을 이용해 배열의 원소 삭제
방법: 배열이름.remove(삭제할 값)
:
이용)ex)
arr = ["a", "b", "c", "d", "e"]
arr.remove("a")
print(arr) #b,c,d,e
arr.remove(arr[3])
print(arr) #b,c,d
배열의 맨 끝에 append안에 들어있는 값을 추가한다
방법: 배열이름.append(추가할 값)
ex)
arr = ["a", "b", "c", "d", "e"]
arr.append("f")
print(arr) #a,b,c,d,e,f
arr.pop()
print(arr) #a,b,c,d,e
인덱스를 이용해 배열의 특정 요소를 삭제(del과 유사)
방법:
ex)
arr = ["a", "b", "c", "d", "e"]
arr.pop()
print(arr) #a,b,c,d
arr.pop(3)
print(arr) #a,b,c,e