[Python] 리스트, 튜플, 딕셔너리

yeji·2024년 10월 16일
0

Python

목록 보기
2/36

리스트

  • 가장 자주 사용되는 데이터 구조 중 하나로 가변한 시퀀스 자료형
  • 대괄호[ ]를 사용하여 만들 수 있음
  • 메서드 (외울 필요는 없음, append 정도만)
    append() : 리스트에 항목 추가
    extend() : 리스트에 다른 리스트의 모든 항목 추가
    insert() : 리스트의 특정 위치에 항목 삽입
    remove() : 리스트에서 특정 값 삭제
    pop() : 리스트에서 특정 위치의 값을 제거하고 반환
    index() : 리스트에서 특정 값의 인덱스를 찾음
    count() : 리스트에서 특정 값의 개수를 세어줌
    sort() : 리스트의 항목 정렬
    reverse() : 리스트의 항목들을 역순으로 뒤집음
a_list.insert(index, element)
# index : 요소를 삽입할 위치, element : 삽입할 요소의 값
  • 값 변경
my_list = ['apple', 'banana', 'cherry', 'date', 'elderberry']

# 리스트 값 변경하기
my_list[3] = 'dragonfruit'
print(my_list)  # 출력: ['apple', 'banana', 'cherry', 'dragonfruit', 'elderberry']
  • 슬라이싱 : 리스트의 일부만 추출하는 것
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 1. 일부분만 추출하기
# 항상 끝 인덱스의 한칸 전까지만 감
print(my_list[2:5])   # 출력: [3, 4, 5]

# 2. 시작 인덱스 생략하기 (처음부터 추출)
print(my_list[:5])    # 출력: [1, 2, 3, 4, 5]

# 3. 끝 인덱스 생략하기 (끝까지 추출)
print(my_list[5:])    # 출력: [6, 7, 8, 9, 10]

# 4. 음수 인덱스 사용하기 (뒤에서부터 추출)
print(my_list[-3:])   # 출력: [8, 9, 10]

# 5. 간격 설정하기 (특정 간격으로 추출)
print(my_list[1:9:2]) # 출력: [2, 4, 6, 8]

# 6. 리스트 전체를 복사하기
copy_of_list = my_list[:]
print(copy_of_list)   # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 7. 리스트를 거꾸로 뒤집기
reversed_list = my_list[::-1]
print(reversed_list)  # 출력: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
  • 정렬 : 원래의 리스트의 항목을 변경하여 정렬
    reverse : 정렬 순서를 지정, 기본값은 false로 오름차순을 의미하며 true로 설정하면 내림차순으로 정렬됨
# 숫자로 이루어진 리스트 정렬 예시
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
numbers.sort()
print("정렬된 리스트:", numbers)  # 출력: [1, 1, 2, 3, 4, 5, 5, 6, 9]

# 문자열로 이루어진 리스트 정렬 예시
words = ['apple', 'banana', 'orange', 'grape', 'cherry']
words.sort()
print("정렬된 리스트:", words)  # 출력: ['apple', 'banana', 'cherry', 'grape', 'orange']

# 내림차순으로 리스트 정렬 예시
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
numbers.sort(reverse=True)
print("내림차순으로 정렬된 리스트:", numbers)  # 출력: [9, 6, 5, 5, 4, 3, 2, 1, 1]

# 리스트의 문자열 길이로 정렬 예시
words = ['apple', 'banana', 'orange', 'grape', 'cherry']
words.sort(key=len)
print("문자열 길이로 정렬된 리스트:", words)  # 출력: ['apple', 'grape', 'banana', 'cherry', 'orange']

튜플

  • 변경할 수 없는 시퀀스 자료형으로 한 번 생성된 이후에는 요소를 추가, 삭제, 수정할 수 없음

  • 데이터를 보호하고 싶을 때 주로 사용

  • 소괄호 ( )를 사용하여 생성하며 각 요소는 쉼표로 구분, 괄호가 없어도 됨

  • 메서드
    슬라이싱 : 리스트와 동일하게 가능
    count() : 지정된 요소의 개수 반환
    index() : 지정된 요소의 인덱스 반환

  • 리스트와 튜플 변환
    list() : 튜플을 리스트로 변경
    tuple() : 리스트를 튜플로 변경

딕셔너리

  • 키-값 쌍의 데이터를 저장하는 자료구조
  • 중괄호 { } 로 둘러싸여 있으며 각 요소는 쉼표로 구분
  • 각 키는 유일해야 하지만 값은 중복될 수 있음
  • 메서드
    keys() : 모든 키를 dict_keys 객체로 반환
    values() : 모든 값을 dict_values 객체로 반환
    items() : 모든 키-값 쌍을 (키, 값) 튜플로 구성된 dict_items 객체로 반환
    get() : 지정된 키에 대한 값을 반환, 키가 존재하지 않으면 기본값을 반환
    pop() : 지정된 키와 해당 값을 딕셔너리에서 제거하고 값을 반환
    popitem() : 딕셔너리에서 마지막 키-값 쌍을 제거하고 반환
profile
👋🏻

0개의 댓글