# 리스트 함수



일전 문자열 내장함수 강의를 보면 알 수 있듯이 리스트도 문자열과 마찬가지로 리스트뒤에 "."을 사용하여 내장함수를 사용할 수 있습니다.


1. append


append 함수는 리스트에 요소를 추가할 때 사용합니다. append에 의하여 추가된 요소는 리스트의 맨 뒤에 저장됩니다. 값이 존재하지 않는 빈리스트일 경우에도 마찬가지로 첫번째 인자부터 새로 생성됩니다. 


1
2
3
4
5
6
7
8
#!/usr/bin/python36
arr = [1,2,3]
arr.append(4)
 
print(arr)
 
#결과값
[1234]
cs



2. extend


append는 유용하지만 여러 원소를 한번에 집어 넣거나 리스트끼리 합치는것은 불가능 합니다. 이런 경우는 어떻게 해결할까요? 바로 extend를 사용하시면됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python36
arr = [1,2,3]
arr.extend([3,4,5,6,7])
 
print(arr)
 
arr = [1,2,3]
arr = arr + [3,4,5,6,7]
 
print(arr)
#결과값
[12334567]
[12334567]
cs


extend함수는 사실 list의 더하기 연산과 크게 다르지 않습니다.  + 연산자가 편하신 분은 +를 사용하고 extend를 쓰고 싶은 분은 extend를 사용하면 됩니다.


참고 : https://stackoverflow.com/questions/3653298/concatenating-two-lists-difference-between-and-extend


3. reverse


리스트를 생성하고 인자의 순서를 반대로 뒤집고 싶을 경우에는 어떻게 하면 될까요? 해답은 바로 reverse 함수에 있습니다.


1
2
3
4
5
6
7
#!/usr/bin/python36
arr = [1,2,3]
arr.reverse()
print(arr)
 
#결과값
[3,2,1]
cs


4. sort


뒤집는 것도 좋지만, 리스트 안의 값을 정렬하고 싶을경우에는 어떻게 하냐고요? sort함수를 사용하시면 됩니다.

sort함수는 리스트를  정렬해주는 함수입니다. 기본적으로 오름차순으로 정렬해주며 reverse라는 인자의 값을 True로 바꿔주면 내림차순으로 정렬해줍니다.

추가적으로 sorted 함수는 arr의 값에 영향을 미치지 않으면서 바꿀 수 있는 내장함수입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/python36
arr = [5,2,7]
print(sorted(arr))
 
print(arr)
 
arr.sort()
print(arr)
 
arr.sort(reverse=True)
print(arr)
 
#결과값
[257#sorted
[527#arr
[257#sort
[752#sort-reverse
cs



5. remove


remove함수는 리스트에 존재하는 인자를 제거하는 함수입니다. 인자의 값이 중복되는 상황이면 인덱스가 낮은 수 먼저 제거합니다.


1
2
3
4
5
6
7
8
9
#!/usr/bin/python36
arr = [1,5,2,7,1]
arr.remove(1)
print(arr)
arr.remove(1)
print(arr)
#결과값
[5271]
[527]
cs


6. insert


위에서 append를 언급했을 때 분명히 맨앞에서 부터 추가하는 방법이 궁금하셨던 분들 계실겁니다. insert 함수는 인자로 인덱스와 값을 받아서 해당인덱스에 값을 추가하는 방식으로 구동됩니다.


1
2
3
4
5
6
7
8
9
10
#!/usr/bin/python36
arr = [1,5,2,7,1]
arr.insert(0,10)
print(arr)
arr.insert(100,10)
print(arr)
 
#결과값
[1015271]
[101527110]
cs

insert함수의 인덱스를 리스트의 길이보다 크게 주었을 경우에는 append와 똑같은 위치에 인자가 삽입됩니다. 그리고 인덱스 값으로 음수를 주면 뒤에서 부터 삽입이 가능합니다.



7. pop


자료구조를 구성할 때 단골손님처럼 쓰이는 함수, pop입니다.

pop는 기본적으로 맨뒤의 인자를 remove하면서 동시에 return하는데요 함수 인자값으로 인덱스를 넣는 것이 가능하여 원하는 위치의 값을 remove하면서 return하는 것이 가능합니다.


1
2
3
4
5
6
7
8
9
10
#!/usr/bin/python36
arr = [1,5,2,7,1]
print(arr.pop())
print(arr.pop(0))
print(arr)
 
#결과값
1
1
[527]
cs


'Dev > python' 카테고리의 다른 글

[python] 튜플과 Immutable  (0) 2019.02.14
[python] 딕셔너리(dictionary)  (0) 2019.02.13
[python] 리스트와 Shallow Copy  (0) 2019.02.10
[python] 문자열 함수  (0) 2019.02.09
[python] 문자열  (0) 2019.02.07

+ Recent posts