리스트(list)

2020. 12. 19. 23:42·Python

Python에서 리스트(list)와 딕셔너리(dict)는 매우 빈번하게 자주 사용되는 자료형이다.

따라서 알고리즘에 본격적으로 들어가기 전에 완벽히 이해하고 넘어가야 한다.

이번 글에서는 리스트(list)에 대해 알아보겠다.

 

리스트는 동적 배열로 코딩 테스트에서 매우 빈번하게 자주 쓰이는 자료형 중 하나이다.

특히나, 파이썬에서는 스택, 큐 등 다양한 구조를 제공하여 다른 언어들에 비해 유리한 조건을 가지고 있다.

(값을 불러오는 것과 같은 간단한 연산은 조금씩 넘어가도록 하겠다.)

 

리스트는 다음과 같이 선언할 수 있다.

#선언방법 1
>>> a = list()

#선언방법 2
>>> a = []

 

리스트는 위에서 말했듯이 동적 배열이기 때문에 중간에 요소를 추가하거나 없앨 수 있다.

 

삽입

>>> a = [1, 2, 3]
>>> a
[1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]

위와 같이 초깃값을 애초에 설정해서 선언할 수도 있고, 이미 있는 리스트에 .append()를 사용하여 요소를 더해줄 수도 있다.

.append() 함수의 () 안에는 어떠한 자료형도 들어갈 수 있다.

 

예를 들어 처음에 리스트를 선언할 때 정수형 변수들로 리스트를 선언했어도, 그 뒤에 문자열이나 bool을 넣을 수 있다.

>>> a.append('Tree')
>>> a.append(True)
>>> a
[1, 2, 3, 'Tree', True]

 

아니면 .insert()함수를 사용할 수도 있다.

insert함수는 () 안에 인덱스(index)와 삽입할 값을 입력하여 리스트에 요소를 추가할 수 있다.

# 3번째 인덱스에 5를 삽입한다.
>>> a.insert(3 ,5)
>>> a
[1, 2, 3, 5, 'Tree', True]

 

리스트의 값을 불러올 때 우리는 슬라이싱 기능을 사용할 수 있다.

슬라이싱이란 리스트에서 원하는 범위만 잘라내는 걸 말한다.

#기본적인 슬라이싱
>>> a[1:3]
[2, 3]

#시작 인덱스를 생략한 슬라이싱
>>> a[:3]
[1, 2, 3]

#종료 인덱스를 생략한 슬라이싱
>>> a[4:]
['Tree', True]

#피라미터를 3개까지 부여한 경우
>>> a[1:4:2]
[2, 5]

위와 같이 여러 방법으로 슬라이싱을 할 수 있다.

마지막처럼 피라미터를 3개를 부여하면 3번째 피라미터는 그 칸수만큼 건너뛰며 값을 가져오겠다는 뜻이다. 

 

삭제

삭제하는 방법은 크게 2가지로 나뉜다.

  • 인덱스로 삭제
  • 값으로 삭제

인덱스로 삭제하는 방법은 del() 함수를 사용하거나 pop() 함수를 사용하는 방법이 있다.

#del()함수를 사용하여 삭제 한 경우
>>> del a[1]
>>> a
[1, 3, 5, 'Tree', True]

#pop()함수를 사용하여 삭제 한 경우
>>> a.pop(2)
5
>>> a
[1, 3, 'Tree', True]

 

값으로 삭제하는 방법은 다음과 같다.

>>> a.remove('Tree')
>>> a
[1, 3, True]

위와 같이 .remove()는 () 안에 내가 삭제하고 싶은 값을 입력하면 그 값이 삭제된다.

 

이렇게 간단하게 리스트(list)의 아주 기본적인 문법을 알아봤다.

다음엔 딕셔너리(dict)에 대해 알아보겠다.

 

+)

List comprehension

: 리스트 안에 for문과 if문을 한번에 넣어서 편리하게 만든 파이썬의 문법이다.

[표현식 for 항목1 in 반복가능객체1 if 조건문1
        for 항목2 in 반복가능객체2 if 조건문2
        ...
        for 항목n in 반복가능객체n if 조건문n]

 

위와 같은 식이 기본 문법이고 여기서 if문은 생략이 가능하다.

'Python' 카테고리의 다른 글

반복문 for문 주의할 점  (0) 2023.09.16
문자열 조작(1 - 유효한 팰린드롬)  (0) 2021.01.16
딕셔너리(dict)  (0) 2020.12.21
Python 시작하기  (0) 2020.12.19
'Python' 카테고리의 다른 글
  • 반복문 for문 주의할 점
  • 문자열 조작(1 - 유효한 팰린드롬)
  • 딕셔너리(dict)
  • Python 시작하기
00me
00me
얼렁뚱땅 방장이 운영하는 기술 블로그
  • 00me
    영미의 iOS 다이어리
    00me
  • 전체
    오늘
    어제
    • 프로그래밍 (29)
      • 📖 (0)
      • CS (4)
      • Python (5)
      • Swift (5)
      • iOS (3)
      • 코테 (3)
        • 자료구조 (0)
        • 알고리즘 (3)
      • 회고 (9)
  • 링크

    • 🍧 GitHub
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
00me
리스트(list)
상단으로

티스토리툴바