[python] 리스트 응용하기

anjiyoo·2024년 3월 6일

Python

목록 보기
15/41
post-thumbnail

1.리스트 메서드

  • 메소드 : 객체에 속한 함수

메소드설명
append(값) / append(리스트)리스트 끝에 값을 추가, 리스트[len(리스트):] = 값 과 같음
extend(리스트)리스트 끝에 다른 리스트 연결, 리스트[len(리스트)] = [값, 값] 과 같음
insert(인덱스, 값)리스트의 특정 인덱스에 값을 추가
pop() / pop(인덱스)리스트의 마지막 값을 삭제한 뒤 삭제한 값을 반환
remove(값)리스트에서 특정 값을 삭제
index(값)리스트에서 특정 값의 인덱스를 구함
count(값)리스트에서 특정 값의 개수를 구함
reverse()리스트에서 값의 순서를 반대로 뒤집음
sort()리스트의 값을 작은 순서대로 정렬(오름차순)
clear()리스트의 모든 값을 삭제, del a[:] 와 같음
copy()리스트를 복사하여 새 리스트 생성

2.리스트 요소 추가하기 .append()

  • 리스트에 요소 추가하기
a = [10, 20, 30]
a.append(500)
a

2-1.빈 리스트에 값 추가하기

a = []
a.append(10)
a

2-2.리스트 안에 리스트 추가하기

a = [10, 20, 30]
a.append([500, 600])
a

3.리스트 확장하기 .extend()

a = [10, 20, 30]
a.extend([500, 600])
a

4.리스트의 특정 인덱스에 요소 추가 .insert()

# 리스트의 맨 처음에 요소 추가
insert(0, 요소)

# 리스트 끝에 요소를 추가
insert(len(리스트),요소)
a = [10, 20, 30]
a.insert(len(a), 500)
a

5.리스트에서 요소 삭제하기 .pop() .remove()

  • 리스트의 마지막 요소를 삭제한 뒤 삭제한 요소를 반환 .pop()
a = [10, 20, 30]
a.pop()
  • 원하는 리스트의 요소를 삭제한 뒤 삭제한 요소 반환 .pop(인덱스)
a = [10, 20, 30]
a.pop(1)
  • 원하는 리스트의 요소를 삭제한 뒤 삭제한 요소 반환 .del(인덱스)
a = [10, 20, 30]
del a[1]
a

6.리스트로 스택과 큐 만들기

  • 리스트로 스택 만들기
  • 파이썬에서 스택은 리스트를 그대로 활용해도 됨
  • 스택에서 pop() 대신 pop(0)을 사용하면 큐가 됨
  • append(), pop(0)이 아닌 insert(0,요소), pop()을 사용해서 추가/삭제 방향을 반대로 해도 큐가 됨
  • 파이썬에서 큐는 덱(deque, double, ended, queue)이라는 자료형을 제공
deque(반복가능한객체)
from collections import deque
a = deque([10, 20, 30])
a.append(500)  # 덱의 오른쪽에 500추가
a.popleft(). # 덱의 왼쪽 요소 하나 삭제

7.리스트에서 특정 값의 인덱스 구하기 .index(값)

a = [10, 20, 30, 15, 20, 40]
a.index(20)

8.특정 값의 개수 구하기 .count(값)

a = [10, 20, 30, 15, 20,40]
a.count(20)

9.리스트의 순서를 뒤집기 .reverse()

a = [10, 20, 30, 15, 20, 40]
a.reverse()

10.리스트의 요소를 정렬하기 .sort()

  • sort 메서드와 sorted 함수 차이 : 메서드는 사용한 리스트 변경, 함수는 정렬된 새 리스트를 생성
a = [10, 20, 30, 15, 20, 40]
a.sort()

11.리스트의 모든 요소를 삭제하기 .clear()

a = [10, 20, 30]
a.clear()
a
# del a[:]와 같이 시작, 끝 인덱스를 생략하여 모든 요소 삭제
a = [10, 20, 30]
del a[:]
a

12.리스트를 슬라이스로 조작하기

a = [10, 20, 30]
a[len(a):] = [500]
profile
기록으로 흔적을 남기는 것을 좋아합니다

0개의 댓글