Programming/Python

[Python 3.7] 파이썬 리스트 사용법

Nirsa 2020. 1. 30. 17:05
반응형

 

[Python] 파이썬 리스트와 튜플 개념 : https://nirsa.tistory.com/39?category=861479

 

  • 1. 리스트 요소 추가

  • append : 리스트의 끝에 요소 하나 추가
  • extend : 리스트 연결
  • insert : 특정 인덱스에 요소 추가

append는 리스트의 끝에 요소를 하나 추가 합니다. 아래 사진은 리스트 a = [1, 2, 3] 에 append로 요소 4를 추가한 모습(좌측)과 동일한 리스트 a에 append로 요소 [4, 5]를 추가한 모습(우측) 입니다.

append로 요소를 추가할 때 리스트를 넣으면 리스트가 그대로 추가 됩니다. 즉, append는 요소가 항상 1개로 들어가게 되므로 길이가 1씩만 증가 합니다.

 

extend는 리스트를 연결시킬 수 있습니다. 위의 append에서는 리스트를 추가할 때 하나의 요소로써 리스트 형태가 그대로 들어가게 되었는데, extend를 사용하면 리스트를 추가 하더라도 각각의 리스트 요소들이 흩어져 들어갑니다.

 

insert는 요소를 리스트의 원하는 위치에 추가할 수 있으며 insert(인덱스, 추가할 요소) 으로 사용 합니다. 아래 사진은 a.insert(1, 10)을 입력(리스트 a의 인덱스 1에 요소 10을 추가)한 예시 입니다. 

 

  • 2. 리스트 요소 삭제

  • pop : 특정 인덱스의 요소 삭제
  • remove : 특정 값을 가진 요소를 찾아 삭제

pop은 특정 인덱스의 요소를 삭제하고, 만약 아무런 인자값을 입력하지 않으면 가장 마지막의 요소를 삭제 합니다.

 

remove는 특정 값을 가진 요소를 찾아서 삭제 합니다.

 

  • 3. 활용 가능한 메서드 정리

메서드 설명
index(값) 입력한 값을 가진 요소의 인덱스 확인
count(값) 입력한 값을 가진 요소의 개수 확인
reverse() 리스트의 순서를 반대로 뒤집음 (ex. a=[1, 2, 3]에서 a.reverse() 입력 시 [3, 2, 1]로 됨
sort() 요소의 값이 작은 순서대로 정렬(오름차순)
sort(reverse=True) 요소의 값이 큰 순서대로 정렬(내림차순)
clear() 모든 요소 삭제 (비어있는 리스트가 됨)
copy() 리스트를 복사 (서로 다른 객체가 됨)

 

  • 4. for 반복문으로 인덱스와 요소 같이 출력

아래 코드와 같이 for 반복문으로 인덱스와 요소를 같이 출력할때엔 enumerate를 사용 하시면 됩니다. enumerate(리스트)를 입력하여 각각의 인덱스와 요소를 두 변수에 할당 합니다. 

a = [10, 20, 30, 40, 50, 60]

for index, value in enumerate(a):
    print("인덱스:", index, "|",  "요소:", value)

아래 이미지와 같이 인덱스와 요소가 각각의 변수로 할당되고, for문의 특징 상 더이상 반복할 값이 없을 때 까지 반복하여 모든 인덱스와 요소를 출력 합니다.

 

  • 5. 리스트 표현식

파이썬의 리스트는 리스트 안에 for문과 if문을 사용할 수 있는데, 이것을 리스트 표현식이라고 부릅니다. 아래 코드는  리스트 표현식으로 for문과 if문을 활용하여 0~9의 숫자 중 홀수만 리스트 a 로 만듭니다. (아래에서는 for문과 if문을 같이 사용 했지만 꼭 같이 사용할 필요는 없습니다)

a = [ i for i in range(10) if i % 2 == 1 ]

 

 

반응형