💻
Albert's Til
GitHub
  • 매일매일 조금씩 성장하기
    • README
    • CS
      • Network
      • HTTP
        • NO-CACHE
      • 오류 코드
      • ORM 도구
      • Design Pattern
        • CQRS Pattern
          • Event Sourcing and CQRS pattern
        • Builder Pattern
    • DB
      • MySQL
        • Timeline
        • Pagination
        • Index
        • Database Performance Optimization Strategies
        • B+ tree
        • MySQL Connectors VS MySQL Shell(Scripting) VS MySQL Workbench
        • MySQL Storage Engine Architecture
      • Normalization & Denormalization
      • JPA
        • @Transactional
        • Why JPA?
        • About JPA
        • N+1 Issue
        • Index
        • ElementCollection&CollectionTable
        • orphanRemoval
        • CascadeType
        • Use Subselect
        • Dynamic Instance Creation
        • Paging
        • Order
        • Spefication
        • mappedBy
      • MongoDB
        • ObjectId
      • Why MySQL?
      • ACID properties of transactions
      • Between JPA and JDBC
      • Identifiers in Hibernate/JPA
    • Java
      • Jackson de/serialize
      • Collections.singletonList() vs List.of()
      • Manage dependencies in Gradle
      • Logging Level
      • Bean Validation
      • JVM Internals
        • Threads
          • Frame
        • Shared Between Threads
          • Classloader
            • Class Loader Hierarchy
            • Loading Linking Initialization
      • Java Collection Framework
      • Annotation
      • Generic
      • 디미터 법칙
    • Spring
      • Caching
      • Spring Integration Overview
        • ThreadPollTaskExecutor
        • Messaging Bridge
        • Channel Adapter
        • Poller
        • Configuration and @EnableIntegration
        • Message Endpoints
        • Message Channels
      • HATEOAS
      • @Autowired vs Constructor Dependency Injection
      • Spring Security
        • JWT 토큰 사용한 인가
        • OAuth 2 Login
        • OAuth 2 인증
        • 인가
        • 인증
        • PasswordEncoder
      • IoC Container
      • Filter,Interceptor,AOP,Argument Resolver
      • Spring Annotation
      • About Spring
    • Kafka
      • Error Channel
    • Infra
      • Scale Up || Scale Out
      • Docker
        • Dockerfile
        • Docker Hub Deploy
        • Command
      • Cloud 유형
        • Infrastructure as a Service
        • Platform as a Service
        • Software as a Service
      • 무중단 배포
        • 엔진엑스(Nginx)
      • 코드 자동 배포
        • Technical
      • AWS EC2
        • PEM(Privacy Enhanced Mail) 키
      • AWS RDS
      • AWS S3
    • CodeSquad
      • Spring Boot Project 1주차 회고
      • Spring Boot Project 2주차 회고
      • Spirng Boot Project 3주차 회고
      • Spring Boot Project 4주차 회고
    • Foody Moody 프로젝트
      • Query Performance Comparison
      • HeartCount Asynchronous Issue
      • DeferredResult
      • ResponseBodyEmitter
      • SseEmitter (Spring)
      • Server-Sent Events (SSE)
      • 기술 스택 적용 이유
      • NO-CACHE(HTTP)
      • Transactional
    • DDD
      • AggregateId
    • Test
      • RestAssured
    • Coding and Algorithmic Problems
      • 819. Most Common Word
      • 344. Reverse String
      • 125. Valid Palindrome
      • 937. Reorder Data in Log Files
    • Node
      • Async... Await...
      • Custom Transactional Decorator Challenger
    • Python
      • Python Basic Grammar
        • Comments and Input/Output
        • Variable
        • Data type
        • Operations and syntax
        • List,Tuple,Dictionary,Set
        • Function
        • Conditional statement
        • Loop
    • HTML
      • HTML Basic
      • HTML Basic Tags
      • HTML Form Tags
      • HTML Table Tags
    • CSS
      • CSS Basic
      • CSS Practice
Powered by GitBook
On this page
  • 시퀀스 자료형
  • 종류
  • 특징
  • 패킹 vs 언패킹
  • 리스트 (list)
  • 생성
  • 메서드
  • 튜플 (Tuple)
  • 생성
  • 메서드
  • 딕셔너리 (Dictionary)
  • 생성
  • 메서드
  • 셋 (Set)
  • 생성
  • 메서드
  • 참조

Was this helpful?

  1. 매일매일 조금씩 성장하기
  2. Python
  3. Python Basic Grammar

List,Tuple,Dictionary,Set

리스트, 튜플, 딕셔너리, 셋

시퀀스 자료형

여러 개의 항목들이 순서대로 나열된 구조를 나타내는 데이터 유형

종류

  • 리스트(List)

  • 문자열(String)

  • 튜플(Tuple)

  • 바이트(Bytes)

  • 바이트배열(Bytearray)

  • 범위(range)

특징

특징
설명
예시 (리스트 기준)

인덱싱

(Indexing)

시퀀스 내 특정 위치의 항목에 접근

my_list[0]

슬라이싱

(Slicing)

시퀀스의 부분집합을 얻음

my_list[1:3]

특정 항목의 포함 여부(Membership)

특정 항목이 시퀀스에 포함되어 있는지 확인

3 in my_list

연결 및 반복

(Iteration)

시퀀스의 항목들을 하나씩 처리

for item in my_list:

내장 함수

(Built-in Functions)

시퀀스와 함께 사용할 수 있는 다양한 함수

len(my_list), min(my_list), max(my_list)

패킹 vs 언패킹

패킹

  • 여러 값을 하나의 시퀀스 자료형에 묶는 작업

my_tuple = 1, 2, 3

언패킹

  • 하나의 시퀀스 자료형을 여러 변수로 나누는 작업

a, b, c = my_tuple

별표(*)를 이용한 언패킹

a, *b, c = 1, 2, 3, 4, 5 # a = 1 , b = [2, 3, 4] , c = 5

리스트 (list)

가변적(mutable)이고 순서가 있는 시퀀스 자료형이고 객체들의 참조(즉, 메모리 주소)를 저장하는 배열입니다.

생성

대괄호([]) 안에 쉼표(,)로 구분된 데이터들을 넣는다

x = [1, 2, 3] 

# 다차원 리스트
y = [[1,2,3],[1,2,3]]

시퀀스형 기본 인덱스가 왜 0부터 시작할까요 ? 이진수 관점에서 메모리를 절약할수 있다.

메서드

메서드
설명
예시

append(x)

리스트의 끝에 항목 x를 추가합니다.

lst.append(3)

extend(iterable)

iterable의 모든 항목을 리스트의 끝에 추가합니다.

lst.extend([4, 5])

insert(i, x)

지정한 위치 i에 항목 x를 삽입합니다.

lst.insert(1, 'a')

remove(x)

리스트에서 첫 번째로 일치하는 항목 x를 제거합니다.

lst.remove(2)

pop([i])

지정한 위치 i에 있는 항목을 제거하고 반환합니다. 인덱스를 지정하지 않으면 마지막 항목을 제거하고 반환합니다.

lst.pop() or lst.pop(1)

clear()

리스트의 모든 항목을 제거합니다.

lst.clear()

index(x, start, end)

리스트에서 첫 번째로 일치하는 항목 x의 인덱스를 반환합니다. start와 end로 검색 범위를 지정할 수 있습니다.

lst.index(3)

count(x)

리스트에서 항목 x의 개수를 셉니다.

lst.count(3)

sort(key=None, reverse=False)

리스트의 항목을 정렬합니다. key는 정렬 기준 함수, reverse는 역순 정렬 여부입니다.

lst.sort() or lst.sort(reverse=True)

reverse()

리스트의 항목 순서를 뒤집습니다.

lst.reverse()

copy()

리스트의 얕은 복사본을 반환합니다.

new_lst = lst.copy()

튜플 (Tuple)

불변(immutable)하고 순서가 있는 시퀀스 자료형

생성

소괄호 () 를 사용하고 그 안에 쉼표 , 로 구분

x = (1,2,3)

메서드

메서드
설명
예시

count(x)

튜플에서 항목 x의 개수를 셉니다.

t.count(2)

index(x,start, end)

튜플에서 첫 번째로 일치하는 항목 x의 인덱스를 반환합니다. start와 end로 검색 범위를 지정할 수 있습니다.

t.index(3)

딕셔너리 (Dictionary)

키-값 쌍의 집합을 저장하는 데이터 구조

딕셔너리 키는 유일해야 한다.

생성

중괄호({})를 사용하여 생성하고 키와 값 상이에 콜론(:)을 사용하여 구분하며 각 키-값 쌍은 쉼표(,)로 구분

dictionary_example = { key1: value1, key2: value2}

메서드

메서드
설명
예시

clear()

딕셔너리의 모든 항목을 제거합니다.

d.clear()

copy()

딕셔너리의 얕은 복사본을 반환합니다.

d_copy = d.copy()

fromkeys(seq, v)

seq의 요소를 키로 하고, v를 값으로 하는 새로운 딕셔너리를 생성합니다. 기본값은 None입니다.

dict.fromkeys(['a', 'b'], 0)

get(key, default)

지정한 키에 대응하는 값을 반환합니다. 키가 없으면 기본값을 반환합니다. 기본값은 None입니다.

d.get('key', default_value)

items()

딕셔너리의 모든 키-값 쌍을 포함하는 뷰 객체를 반환합니다.

d.items()

keys()

딕셔너리의 모든 키를 포함하는 뷰 객체를 반환합니다.

d.keys()

pop(key, default)

지정한 키에 대응하는 값을 반환하고, 해당 키를 딕셔너리에서 제거합니다. 키가 없으면 기본값을 반환합니다.

d.pop('key', default_value)

popitem()

딕셔너리에서 마지막으로 삽입된 키-값 쌍을 제거하고 반환합니다.

d.popitem()

setdefault(key, default)

키가 딕셔너리에 없으면 키를 추가하고, 기본값을 반환합니다. 기본값은 None입니다.

d.setdefault('key', default_value)

update([other])

다른 딕셔너리나 iterable의 키-값 쌍을 사용하여 딕셔너리를 갱신합니다.

d.update({'key1': 1, 'key2': 2})

values()

딕셔너리의 모든 값을 포함하는 뷰 객체를 반환합니다.

d.values()

셋 (Set)

순서가 없고 중복된 값도 허용하지 않는 자료형

생성

중괄호 {} 를 사용하고 그 안에 쉼표,로 구분

set_example = set([1,2,3,3,3]) # set_example = {1,2,3}

메서드

메서드
설명
예시

add(elem)

집합에 요소를 추가합니다. 이미 존재하면 아무런 동작을 하지 않습니다.

s.add(3)

clear()

집합의 모든 요소를 제거합니다.

s.clear()

copy()

집합의 얕은 복사본을 반환합니다.

s_copy = s.copy()

difference(*others)

하나 이상의 다른 집합과의 차집합을 반환합니다.

s.difference(t)

difference_update(*others)

집합을 다른 집합들과의 차집합으로 업데이트합니다.

s.difference_update(t)

discard(elem)

집합에서 요소를 제거합니다. 요소가 없어도 에러가 발생하지 않습니다.

s.discard(3)

intersection(*others)

하나 이상의 다른 집합과의 교집합을 반환합니다.

s.intersection(t)

intersection_update(*others)

집합을 다른 집합들과의 교집합으로 업데이트합니다.

s.intersection_update(t)

isdisjoint(other)

다른 집합과 교집합이 없는지 확인합니다. 교집합이 없으면 True, 있으면 False를 반환합니다.

s.isdisjoint(t)

issubset(other)

집합이 다른 집합의 부분집합인지 확인합니다.

s.issubset(t)

issuperset(other)

집합이 다른 집합의 상위집합인지 확인합니다.

s.issuperset(t)

pop()

집합에서 임의의 요소를 제거하고 반환합니다. 집합이 비어 있으면 KeyError를 발생시킵니다.

s.pop()

remove(elem)

집합에서 요소를 제거합니다. 요소가 없으면 KeyError를 발생시킵니다.

s.remove(3)

symmetric_difference(other)

다른 집합과의 대칭차집합을 반환합니다.

s.symmetric_difference(t)

symmetric_difference_update(other)

집합을 다른 집합과의 대칭차집합으로 업데이트합니다.

s.symmetric_difference_update(t)

union(*others)

하나 이상의 다른 집합과의 합집합을 반환합니다.

s.union(t)

update(*others)

집합을 다른 집합들과의 합집합으로 업데이트합니다.

s.update(t)

참조

ChatGPT

Last updated 12 months ago

Was this helpful?

견고한 파이썬