6. 리스트(List) 관련 함수, 메소드
페이지정보
내용
리스트 관련 함수, 메소드
리스트 역시 + 기호를 이용해서 더할 수 있고, * 기호를 이용해서 반복할 수 있다.
리스트 더하기(+) |
+ |
a = [1, 2, 3] b = [4, 5, 6] print(a + b) |
[1, 2, 3, 4, 5, 6] |
||
리스트 반복하기(*) |
* |
a = [1, 2, 3] print(a * 3) |
[1, 2, 3, 1, 2, 3, 1, 2, 3] |
||
리스트 길이구하기 |
len |
a = [1, 2, 3] print(len(a)) |
3 |
||
리스트에서 값 수정하기 - 인덱스를 이용하여 변경된 값 입력 |
|
a = [1, 2, 3] a[2] = 4 print(a) |
[1, 2, 4] |
||
리스트 요소 삭제 |
del |
a = [1, 2, 3] del a[1] print(a) a = [1, 2, 3, 4, 5] del a[2:] print(a) |
[1, 3] [1, 2] |
||
리스트에 요소 추가 |
append |
a = [1, 2, 3] a.append(4) print(a) a.append([5,6]) print(a) |
[1, 2, 3, 4] [1, 2, 3, 4, [5, 6]] |
||
리스트 정렬 |
sort
sort(revers=True) |
a = [1, 4, 3, 2] a.sort() print(a) a = ['a', 'c', 'b'] a.sort() print(a) |
[1, 2, 3, 4] ['a', 'b', 'c'] |
||
리스트 뒤집기 |
reverse |
a = ['a', 'c', 'b'] a.reverse() print(a) |
['b', 'c', 'a'] |
||
위치 반환 |
index |
a = [1,2,3,1,2,3] print(a.index(3)) print(a.index(1)) print(a.index(4, 3) |
2 0 5 |
||
리스트에 요소 삽입 |
insert |
a = [1, 2, 3] a.insert(0, 4) print(a) a.insert(3, 5) print(a) |
[4, 1, 2, 3] [4, 1, 2, 5, 3] |
||
리스트 요소 제거 |
remove |
a = [1, 2, 3, 1, 2, 3] a.remove(3) print(a) a.remove(3) print(a) |
[1, 2, 1, 2, 3] [1, 2, 1, 2] |
||
리스트 요소 끄집어내기 |
pop |
a = [1,2,3] print(a.pop()) print(a) a = [1,2,3] print(a.pop(1)) print(a) |
3 [1, 2] 2 [1, 3] |
||
리스트에 포함된 요소 x의 개수 세기 |
count |
a = [1,2,3,1] print(a.count(1)) |
2 |
||
리스트 확장 |
extend |
a = [1,2,3] a.extend([4,5]) print(a) b = [6, 7] a.extend(b) print(a) |
[1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 6, 7] |
||
리스트의 값이 숫자일 때, 가장 큰 값 구하기 |
max |
a = [1,2,3,4,5,6] m = max(a) print(m) |
6 |
||
리스트의 값이 숫자일 때, 가장 작은 값 구하기 |
min |
a = [1,2,3,4,5,6] m = min(a) print(m) |
1 |
||
리스트의 값이 숫자일 때, 합계 구하기 |
sum |
a = [1,2,3,4,5,6] m = sum(a) print(m) |
21 |
참조 전달과 수치전달의 차이
참조전달은 원본 데이터의 주소를 복사본에 저장하기 때문에 원본 또는 복사본을 수정하더라도 실제는 원본을 수정하는 것이므로 항상 값이 동시에 변하는 것처럼 보인다.
수치전달은 원본의 데이터를 완전히 따로 복사하는 것이기 때문에 두 개의 데이터는 각자 따로 저장된다.
참조전달의 예)
a = [1,2,3] b = a a[0] = 100 b[0] = 1001 print("a " , a, id(a)) print("b " , b, id(b)) |
a [1001, 2, 3] 2184153683016 b [1001, 2, 3] 2184153683016 |
각 변수의 id 값이 같다는 것을 알 수 있다.
수치전달의 예)
a = [1,2,3] b = a.copy() a[0] = 100 b[0] = 1001 print("a " , a, id(a)) print("b " , b, id(b)) |
a [100, 2, 3] 2184155155208 b [1001, 2, 3] 2184155153416 |
각 변수의 id 값이 다르다는 것을 알 수 있다.