프로그래밍 언어/파이썬

파이썬 11. 리스트 관련 함수

닉네임못짓는사람 2020. 9. 22. 05:58
반응형

이번 글에서는 리스트에 관련된 함수에 대해서 알아보겠습니다.

 

리스트 관련 함수


요소 추가(append)

append함수는 리스트의 맨 뒤에 새로운 요소를 추가시키는 함수입니다.

list1 = [3, 3.02, "123"]
print(list1)
list1.append(4)
print(list1)
list1.append(["asd", 123])
print(list1)

위와 같이 하나의 값을 추가할 수도 있고, 리스트를 새로 추가할 수도 있습니다.


요소 삽입(insert)
insert함수도 append함수처럼 리스트에 새로운 요소를 추가하는 함수입니다.

다른점은 요소를 추가할 위치를 지정할 수 있다는 점입니다.

list1 = [3, 3.02, "123"]
list1.insert(2, "asd")
print(list1)

기본적인 사용법은 리스트.insert(삽입할 인덱스번호, 삽입할 값)입니다.

위의 코드에서는 list1의 세 번째 자리에 새로 "asd"를 삽입하고, 기존에 있던 값은 밀어낸 것을 볼 수 있습니다.

또한 삽입할 인덱스번호를 list의 최고 인덱스를 넘어가는 값으로 지정하면, 리스트의 맨 끝에 삽입합니다.

list1 = [3, 3.02, "123"]
list1.insert(111, "asd")
print(list1)


리스트 확장(extend)

extend함수는 리스트에 새로운 리스트를 더하는 함수입니다.

특징은 다른 자료형이 아닌 무조건 리스트만 더할 수 있다는 점입니다.

list1 = [3, 3.02, 3, "123"]
print(list1)
list1.extend(["qwe", 333])
print(list1)

위와 같이 리스트를 새로 추가하면 코드가 정상적으로 작동합니다.

반면, 리스트가 아닌 다른 자료형을 추가하려고 하면 아래와 같은 오류가 발생합니다.

list1 = [3, 3.02, 3, "123"]
list1.extend(123)


요소 제거(remove)

remove함수는 해당 리스트에서 지정한 값을 찾아 가장 첫 번째로 나오는 값을 삭제하는 함수입니다.

list1 = [3, 3.02, 3, "123"]
print(list1)
list1.remove(3)
print(list1)
list1.remove(3)
print(list1)

위의 코드를 보면 처음 remove(3)을 실행했을 때, 리스트에 있는 두 개의 3중 앞에있는 3만 삭제된 것을 볼 수 있습니다.


요소 꺼내기(pop)

pop함수는 리스트의 맨 마지막 요소를 삭제하고, 그 값을 반환해주는 함수입니다.

list1 = [3, 3.02, 3, "123", 3]
print(list1)
print(list1.pop())
print(list1)
print(list1.pop())
print(list1)

이렇게 pop함수를 두 번 실행하면, 리스트의 맨 뒤의 두 요소가 제거된 상태로 남은 것을 볼 수 있습니다.


위치 확인(index)
index함수는 문자열에서 사용했던 index와 동일한 동작을 수행합니다.

해당 리스트 내에서 지정한 값이 있으면 그 값의 인덱스번호를 반환합니다.

list1 = [3, 3.02, "123"]
print(list1.index(3))

위의 코드에서 3은 리스트의 첫 번째 요소이기 때문에 0을 반환했습니다.


특정 요소의 개수 확인(count)

count함수는 해당 리스트에서 특정한 값이 몇 개 있는지 찾아서 반환하는 함수입니다.

list1 = [3, 3.02, 3, "123", 3]
print(list1.count(3))

위의 코드에서 리스트 내에 3이라는 값이 총 세개이기 때문에 3을 반환했습니다.


리스트 뒤집기(reverse)

reverse함수는 리스트를 거꾸로 뒤집어주는 함수입니다.

list1 = [3, 3.02, 3, "123"]
list1.reverse()
print(list1)

결과를 보시면, 기존 리스트에서 맨 뒤의 요소를 가장 앞으로, 그 전 요소를 두 번째로, 이런식으로 리스트를 뒤집습니다.


리스트 정렬(sort)

sort함수는 리스트를 정렬해주는 함수입니다.

기본적으로 숫자의 경우 오름차순으로, 문자 또는 문자열의 경우 사전순으로 정렬합니다.

list1 = [3, 2.02, 5, 119]
list1.sort()
print(list1)

반대로 정렬을 내림차순, 또는 사전 역순으로 하고 싶을 때에는 sort의 괄호에 새로운 값을 추가해줍니다.

list1 = [3, 2.02, 5, 119]
list1.sort(reverse=True)
print(list1)

이렇게 괄호 안에 reverse=True라는 값을 추가하면, 위에서 봤던 오름차순 정렬과 반대의 정렬을 수행합니다.

 

또한 이 함수를 사용할 때 주의할 점은 리스트 내에 서로 완전히 다른 자료형이 존재하면 안된다는 점입니다.

여기서 말하는 완전히 다른 자료형은 숫자와 문자와 같은 경우를 말하며, 정수형과 실수형 또는 문자와 문자열 등은 가능합니다.

list1 = [3, 2.02, 5, "qwe"]
list1.sort()
print(list1)

 

서로 다른 자료형을 사용해서 오류가 발생한 모습

위의 코드에서는 리스트 내에 숫자와 문자가 함께 존재하고 있어서, sort실행시 오류가 발생했습니다.

이러한 경우가 있으니 sort사용시에 주의하시길 바랍니다.

 

이번 글은 이 정도로 마치도록 하겠습니다.

감사합니다.

 

반응형

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

파이썬 13. 딕셔너리  (0) 2020.09.28
파이썬 12. 튜플  (0) 2020.09.23
파이썬 10. 리스트  (0) 2020.09.21
파이썬 9. 문자열 함수  (0) 2020.09.18
파이썬 8. 문자열 포매팅  (0) 2020.09.18