이 영역을 누르면 첫 페이지로 이동
caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

페이지 맨 위로 올라가기

caputdraconis

네트워크 관점에서의 클라우드 컴퓨팅을 공부하는 중입니다 :)

[기초]파이썬 리스트의 함수들

  • 2020.09.05 03:52
  • 언어&프레임워크/Python
글 작성자: caputdraconis
반응형

파이썬(python) 언어에서 리스트 자료형에는 기본으로 제공하는 함수들이 있다.

append, extend, clear 등등 여러 함수들을 기본적으로 제공해주어 편리하게 사용할 수 있다

 

append()

s = [1, 2, 3]
s.append(4) 
print(s)

s.append([5,6])
print(s)

append() 함수는 리스트의 끝에 주어진 데이터를 추가하는 함수다. 위의 코드를 실행하면 실행결과는 아래와 같다.

[1, 2, 3, 4]
[1, 2, 3, 4, [5, 6]]  

 

 

extend()

s = [1, 2, 3]
s.extend([4]) 
print(s)

s.extend([5,6])
print(s)

extend() 함수는 리스트의 끝에 인자로 주어진 리스트 내용 전부를 추가하는 함수다. 위의 코드를 살펴보면 앞서 append() 함수를 설명할 때 사용한 코드와 거의 비슷함을 알 수 있다. 차이점을 보자면 4라는 숫자를 이어붙일 때 그냥 숫자 하나만 넣은 append() 함수와 달리 extend() 함수에서는 리스트 형식으로 주어졌다. 실행결과에서도 차이점을 보인다. 

[1, 2, 3, 4]
[1, 2, 3, 4, 5, 6]

4만 추가했을 때는 같다. 하지만 5와 6을 추가했을 때는 리스트에 깔끔하게 들어간 것을 볼 수 있다. 아까 extend() 함수를 설명할 때 인자로 주어진 리스트 내용 "전부"를 추가하는 함수라고 언급했었다. append() 함수는 한 개의 데이터만 추가하는 함수다. 그래서 리스트 [5, 6]을 한 개의 데이터로 인식해 결국 [1 ,2, 3, 4, [5, 6]] 이라는 결과를 만들었다. 하지만 extend() 함수는 리스트 [5, 6]을 복수개의 데이터로 인식해 5와 6을 따로따로 넣은 것이다. 

 

clear()

s = [1, 2, 3, 4, 5, 6]
s.clear()

print(s)

clear() 함수는 이름 그대로 리스트의 내용물 전부를 삭제하는 함수다. 위의 함수를 실행하면 아래와 같이 빈 리스트만 출력이 된다.

[]

 

 

insert()

s = [1, 2, 3, 4, 5, 6]
s.insert(0, 99)
print(s)

s.insert(5, 99)
print(s)

insert() 함수는 특이하게 2개의 인자가 주어진다. 원형을 insert(i, x)라고 했을 때 리스트의 인덱스 i에 x를 저장하는 함수다. 

s.insert(0, 99)는 첫번째 인덱스(원래 1이 있던 자리)에 99라는 값을 넣으라는 명령어다. 그렇다면 1은 어디로 갈까? 밑의 실행결과를 보자

[99, 1, 2, 3, 4, 5, 6]

원래 인덱스 0에 위치하고 있던 1을 포함해 모든 값들이 1자리씩 뒤로 밀려났음을 확인할 수 있다.

이 실행결과를 통해 insert() 함수는 기존의 데이터를 덮어씌우는 것이 아닌 자리를 비집고 들어가 저장하는 함수임을 알 수 있다. 그렇다면 s.insert(5, 99) 명령의 실행결과는 어떨까?

 

[99, 1, 2, 3, 4, 5, 6] 에서 인덱스 5는 현재 5가 위치한 자리니깐 [99, 1, 2, 3, 4, 99, 5, 6]가 될 것으로 예상해볼 수 있고 이는 정답이다!

 

 

pop()

s = [1, 2, 3, 4, 5, 6]
print(s.pop(0))   #print(s.pop(0))은 print(1)과 같다.
print(s)

pop() 함수의 원형은 s.pop(i)이다. 인덱스 i에 위치한 값(s[i])을 반환 및 삭제하는 함수다. (스택에서 사용하는 그 pop이다!)

인덱스 0에 위치한 값(위의 코드에서는 1을 의미한다)을 리턴하고 삭제하는 pop() 함수. 그렇기에 이를 print() 안에 넣으면 1을 출력할 것이다. 그리고 1이 삭제된 리스트를 다시 출력해보면 1이 사라졌을 것이다. 그리고 이를 아래의 실행결과에서 확인할 수 있따!

1   
[2, 3, 4, 5, 6]

 

 

remove()

s = [1, 5, 5, 4, 5, 6]                                                
s.remove(5)
print(s)

remove() 함수의 원형은 remove(x)다. 리스트에서 제일 앞에 위치한 x 하나를 삭제하는 함수다. 

위의 코드 결과를 예상해보면 가장 먼저 등장하는 5는 인덱스 1에 위치해있다. 이를 출력하면 [1, 5, 4, 5, 6]일 것이다. 그리고 이는 아래의 실행결과와 똑같다!

[1, 5, 4, 5, 6]

 

 

count()

s = [1, 5, 5, 4, 5, 6]                                                
print( s.count(5) )  # == print(3)

count() 함수는 인자로 주어진 값이 리스트에 몇 번 등장하나를 반환하는 함수다. 그래서 위에서는 5가 리스트 s에 총 3번 등장하니 3이 출력된다. (실행결과 생략)

 

index()

s = [1, 2, 3, 5, 5, 6]
print( s.index(5) )  # == print(3)

index(x) 함수는 리스트에 처음 등장하는 x의 인덱스 값을 반환하는 함수다. 위의 코드에서 5가 가장 먼저 등장하는 곳은 인덱스 3번이다. 그렇기에 index() 함수의 반환값을 출력해보면 3이 출력됨을 확인할 수 있다. (실행결과 생략)

 

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • Python venv 가상환경 VScode 인식 못함

    Python venv 가상환경 VScode 인식 못함

    2021.02.12
  • [기초]파이썬 문자열의 함수들

    [기초]파이썬 문자열의 함수들

    2020.09.05
  • 파이썬 난리법석 간단 정리(변수, 함수, 반복, 데이터형) - Private

    파이썬 난리법석 간단 정리(변수, 함수, 반복, 데이터형) - Private

    2020.09.03
다른 글 더 둘러보기

정보

caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

  • caputdraconis의 첫 페이지로 이동

검색

메뉴

    카테고리

    • 분류 전체보기 (168)
      • Cloud (3)
      • Computer Network (12)
      • Database (2)
      • Terraform (2)
      • 🥚고리즘 (13)
      • 겅부겅부🙃 (10)
        • Naver CS50 코칭스터디 (2)
        • Machine Learning (1)
        • Computing System (6)
      • 언어&프레임워크 (20)
        • Python (4)
        • Django (10)
        • Node JS (1)
        • C++ (2)
        • Java (1)
        • Flutter (2)
      • Security (76)
        • WebHacking Study (11)
        • 지옥방 스터디 (22)
        • 여름방학 스터디 (2)
        • PWN Study (6)
        • SUA Reversing Study (3)
        • PWN (3)
        • WebHacking (20)
        • Reversing (4)
      • 알고 있으면 도움되지 않을까,,? (23)
      • 일상다반사 (1)
      • 근황 정리 (1)
      • 42 Seoul (1)
        • Setting (1)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 리스트함수
    • 웹해킹.kr
    • 파이썬함수
    • 파이썬
    • 드림핵
    • 파이썬기초
    • old-16
    • Python

    나의 외부 링크

    • Github
    • solved.ac
    • caputdraconis@kakao.com

    정보

    caputdraconis의 caputdraconis

    caputdraconis

    caputdraconis

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. Copyright © caputdraconis.

    티스토리툴바