[Python] 파이썬 리스트, 튜플, 딕셔너리 사용법

2022. 7. 25. 21:39·Python

리스트 [ ] : 말 그대로 목록 이라는 뜻으로 값을 일렬로 늘어놓은 형태다. 

튜플 ( ) : 리스트와 비슷하지만 저장된 요소를 변경, 추가, 삭제가 불가능하다.

딕셔너리 { } : 키 : 값의 형식을 가지고 있다. 연관된 값을 묶어서 저장하는 자료형이다. 


1. 리스트 ( list )

리스트는 문자열, 실수, 정수, 불 등 모든 자료형을 저장할 수 있다.

대괄호 [ ]를 사용하여 선언한다.

a = [10, 'superman', True]

 

1. 주요 메서드

메서드명 기능 예시
append(요소) 요소 하나를 추가 list.append(10)
extends(리스트) 리스트를 연결하여 확장 list.extend( [30,40] )
insert(인덱스, 요소) 특정 인덱스에 요소 추가 list.insert(2, 10)
pop(인덱스) 마지막 요소 또는 특정 인덱스 요소 삭제 list.pop(), list.pop(0)
remove(요소) 특정 값을 찾아서 삭제 (중복시 처음 값) list.remove(20)
index(요소)  특정 값의 인덱스 구하기 list.index(20)
count(요소) 특정 값의 개수 구하기 list.count(20)
reverse() 요소의 순서를 반대로 뒤집는다. list.reverse()
sort() 요소 오름차순 정렬 list.sort()
clear() 리스트 모든 요소 삭제 list.clear()
copy() 리스트의 모든 요소를 복사한다. list2.copy()

 

2. 리스트 슬라이싱

리스트와 튜플같은 시퀀스 자료형(순서가 있는 자료형)은 슬라이스라는 기능을 사용할 수 있다.

시퀀스 객체의 일부를 잘라낼 수 있다. 자주 사용되는 유용한 기능이니 잘 숙지하자.

list[ 시작 인덱스 : 끝 인덱스 : 증가폭 ] 같이 사용한다.

 

a = [10,20,30,40,50,60]
print(a[0:3])
print(a[1:3])
print(a[0:5:2])

print(a[-1]) #-1은 마지막 원소
print(a[5:0:-1])
print(a[::]) #길이를 모를경우 생략가능

 

del a[2:5] 와 같이 삭제도 가능하다.

 

3. 리스트 컴프리헨션

파이썬의 리스트가 특이한 점은 리스트 안에 for 반복문과 if 조건문을 사용할 수 있다.

문법이 다소 복잡하지만 코드를 한 줄로 줄일 수 있다는 장점이 있다.

 

a = [i for i in range(10)]
b = [i for i in range(10) if i % 2 == 0] #조건문도 줄 수 있다.

 

리스트 표현식에 for가 여러 개일 때 처리 순서는 뒤에서 앞 순이다.

2. 튜플 ( tuple )

리스트와 비슷하지만 요소의 변경, 추가, 삭제가 불가능하다.

즉, 읽기 전용 리스트라고 할 수 있다. 소괄호 ( )를 사용하여 선언한다.

튜플은 리스트와 달리 내용을 변경할 수 없기 때문에 내용을 변경하는 append 같은 메서드는사용할 수 없고, 요소의 정보를 구하는 메서드만 사용할 수 있다.

 

a = (10, 20, 30)

 

 

튜플을 한 개만 사용할 경우 a = (10,) 같이 쉼표를 넣어주면 튜플로 인식한다.

3. 딕셔너리 ( dict )

키에는 값을 하나만 지정할 수 있으며 키-값 형태를 가지고 있다.

리스트와 튜플은 값 여러 개를 일렬로 저장할 뿐, 값끼리 연관 관계가 없었다.

딕셔너리는 마치 사전에서 단어를 찾듯이 값 마다 이름을 붙여서 저장하는 방식이다.

보통 딕셔너리와 같은 키-값 형태의 자료형을 해시, 해시맵, 해시테이블 등으로 부르기도 한다.

 

중괄호 { }를 사용하여 선언한다.

 

lux = {'health' : 490, 'mana' : 334, 'armor' : 18.72}

 

 

1. 키 이름이 중복되면?

키가 중복되면 가장 뒤에 있는 값만 사용한다. (중복 허용x)

 

lux = {'health' : 490,'health' : 800, 'mana' : 334, 'armor' : 18.72}

 

 

2. 키의 자료형

키에 정수, 실수, 불을 사용할 수 있고 섞어서 사용도 가능하다.

값에는 리스트, 딕셔너리 등을 포함하여 모든 자료형을 사용할 수 있다.

하지만 키에는 리스트와 딕셔너리는 사용할 수 없다.

 

x = {100:'hundred', False:0, 3.5:[3.5, 3.5]} # 가능
x = {[10,20] :'hundred'} # Error
x = {{'a':20}:'hundred'} # Error

 

3. 주요 활용법

lux = {'health' : 490, 'mana' : 334, 'armor' : 18.72}

# 키에 값 할당하기
lux['health'] = 2000

# 없는 키에 값 할당시 키가 추가되고 값이 할당
lux['speed']=250

# 딕셔너리에 키가 있는지 확인하기
'health' in lux

# 딕셔너리 키 개수 구하기
len(lux)

+ 파이썬 리스트로 간단하게 스택 & 큐 구현

1. 스택

2. 큐

리스트에는 pop()이라는 메서드가 있다.

그냥 pop()을 쓰면 스택 구조로 사용할 수 있다.

메서드의 매개변수로 pop(0)을 주면 큐처럼 맨 앞의 원소가 제거된다. 

따라서 pop(), pop(0)만을 사용해서 간단하게 스택과 큐를 구현할 수 있다.

 

 


참고 문헌 : 파이썬 코딩도장

 

'Python' 카테고리의 다른 글

[Python] 파이썬 기후 데이터 시각화하기 (Indian Summers, plt, 선 차트, 막대 차트, 파이 차트)  (4) 2023.04.17
[Python] 학생 성적관리 프로그램 (파일 사용)  (0) 2022.07.28
[Python] 파이썬 지뢰찾기 구현 (2차원 리스트)  (3) 2022.07.27
[Python] 로또 당첨번호 (별찍기 예제)  (0) 2022.07.26
[Python] 파이썬 별찍기 for, while문  (0) 2022.07.26
'Python' 카테고리의 다른 글
  • [Python] 학생 성적관리 프로그램 (파일 사용)
  • [Python] 파이썬 지뢰찾기 구현 (2차원 리스트)
  • [Python] 로또 당첨번호 (별찍기 예제)
  • [Python] 파이썬 별찍기 for, while문
현기
현기
  • 현기
    현기의 개발블로그
    현기
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • Front-End (39)
        • Next (5)
        • React (8)
        • React Native (11)
        • Flutter (0)
        • Vue (1)
        • JSP (9)
        • HTML, CSS, JS (5)
      • Back-End (16)
        • Node.js (3)
        • Spring (8)
        • Flask (1)
        • AWS (4)
      • DB (5)
        • Oracle (4)
        • MySQL (1)
      • Python (7)
      • Java (27)
        • 자바 이론 (17)
        • 코딩테스트 연습 & 실습 (10)
      • 자료구조 & 알고리즘 (7)
        • 코딩테스트 (6)
        • 알고리즘 (1)
      • 블록체인 (0)
      • 프롬프트 엔지니어링 (0)
      • CS 지식 (5)
      • IT뉴스 (0)
      • 일상 (3)
      • etc (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    React Native
    next-intl
    포스트맨
    node.js
    Java
    서블릿
    상속
    티스토리챌린지
    React Native Chart
    REST API
    오블완
    리액트 네이티브
    react-native-chart-kit
    그리디
    큐
    쓰레드
    Spring
    스택
    자바 스프링
    Express
    IS-A
    DI
    자바스크립트
    파이썬
    자바
    JSP
    오라클
    react
    JDBC
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
현기
[Python] 파이썬 리스트, 튜플, 딕셔너리 사용법
상단으로

티스토리툴바