Today I Learned (TIL)/Python

[TIL] 데이터 분석 파이썬 종합반 - 2주차

신짜린 2024. 7. 5. 12:01

1. 리스트

 리스트란 파이썬에서 가장 자주 사용되는 데이터 구조 중 하나이다. 대괄호 [ ]를 사용해 만들 수 있다. 여러 값을 순서대로 담을 수 있고 각 값은 쉼표로 구분된다.

my_list = [1, 2, 3, 4, 5]
print(my_list)  # 출력: [1, 2, 3, 4, 5]
-----------------------------------------------------------------------------------------------
# 첫 번째 요소에 접근하기
first_number = numbers[0]
print("First number:", first_number)
-----------------------------------------------------------------------------------------------
# 마지막 요소에 접근하기
last_number = numbers[-1]
print("Last number:", last_number)

 

- 리스트의 다양한 메서드(Methods)

Methods 설명 예시
my_list = [1, 2, 3, 4, 5]
append() 리스트에 항목을 추가 my_list.append(6)
extend() 리스트에 다른 리스트 모든 항목을 추가 my_list.extend([7, 8, 9])
insert() 리스트의 특정 위치에 항목 삽입 my_list.insert(2, 10)
remove() 리스트에서 특정 값을 삭제 my_list.remove(3)
pop() 리스트에서 특정 위치의 값을 제거하고 반환 popped_value = my_list.pop(5)
index() 리스트에서 특정 값의 인덱스를 찾음 print(my_list.index(4))
count() 스트에서 특정 값의 개수를 세어줌 print(my_list.count(7))
sort() 리스트의 항목을 정렬 my_list.sort()
reverse() 리스트의 항목들을 역순으로 뒤집어줌 my_list.reverse()

 

- 리스트 값 삭제 및 변경

# 리스트의 항목 삭제
del my_list[0]
print("첫 번째 항목 삭제 후 리스트:", my_list) 
-----------------------------------------------------------------------------------------------
# 리스트 내 값들의 모든 항목 제거
my_list.clear()
print("모든 항목 제거 후 리스트:", my_list)
-----------------------------------------------------------------------------------------------
# 리스트 값 변경하기
my_list = ['apple', 'banana', 'cherry', 'date', 'elderberry']
my_list[3] = 'dragonfruit'
print(my_list) # 출력: ['apple', 'banana', 'cherry', 'dragonfruit', 'elderberry']

 

- 인덱싱

# 중첩된 리스트에서 인덱싱하기
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(nested_list[1][0])  # 출력: 4 (두 번째 리스트의 첫 번째 항목)

 

- 슬라이싱

설명 예시
일부분만 추출 print(my_list[2:5])
시작 인덱스 생략 (처음부터 추출) print(my_list[:5])
끝 인덱스 생략 (끝까지 추출) print(my_list[5:])
음수 인덱스 사용 (뒤에서부터 추출) print(my_list[-3:])
간격 설정 (특정 간격으로 추출) print(my_list[1:9:2])
리스트 전체를 복사 copy_of_list = my_list[:]
리스트를 거꾸로 뒤집기 reversed_list = my_list[::-1]

 

- 정렬

 sort() 메서드는 리스트의 항목들을 정렬하는 데 사용된다. 기본적으로 숫자와 문자열에 대해서는 오름차순으로 정렬되며, 리스트의 항목들이 동일한 형태일 경우에만 정렬된다.

 reverse는 정렬 순서를 지정한다. 기본값은 False로 오름차순을 의미하며, True로 설정하면 내림차순으로 정된다.

# 내림차순으로 리스트 정렬 예시
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]

 

2. 튜플

 튜플이란 변경할 수 없는 시퀀스 자료형으로 여러 개의 요소를 저장하는 컨테이너이다. 리스트와 유사하지만 한 번 생성된 이후에는 요소를 추가, 삭제, 수정할 수 없어 데이터를 보호하고 싶을 때 주로 사용된다. 튜플은 소괄호 ()를 사용하여 생성하며, 각 요소는 쉼표로 구분된다.

tuple1 = (1, 2, 3)
tuple2 = ('a', 'b', 'c')
-----------------------------------------------------------------------------------------------
 # 두 개의 튜플을 합치기
new_tuple = tuple1 + tuple2 
print(new_tuple)
-----------------------------------------------------------------------------------------------
# 튜플을 반복하기
repeated_tuple = tuple1 * 3  
print(repeated_tuple)
-----------------------------------------------------------------------------------------------
# 튜플을 리스트로 변경하기
my_tuple = (1, 2, 3, 4, 5)
my_list = list(my_tuple)
print(my_list)  # 출력: [1, 2, 3, 4, 5]
-----------------------------------------------------------------------------------------------
# 리스트를 튜플로 변경하기
my_list = [1, 2, 3, 4, 5]
my_tuple = tuple(my_list)
print(my_tuple)  # 출력: (1, 2, 3, 4, 5)

 

3. 딕셔너리

 딕셔너리란 키(Key) - 값(Value) 쌍의 데이터를 저장하는 자료구조로 중괄호 {}를 사용한다. 각 키는 유일해야 하지만 값은 중복될 수 있다.

# 학생 성적표
grades = {
    'Alice': 90,
    'Bob': 85,
    'Charlie': 88
}
-----------------------------------------------------------------------------------------------
# 접근하기
print(grades['Alice'])  # 출력: 90
-----------------------------------------------------------------------------------------------
# 값 수정하기
grades['Bob'] = 95
-----------------------------------------------------------------------------------------------
# 요소 추가하기
grades['David'] = 78
-----------------------------------------------------------------------------------------------
# 요소 삭제하기
del grades['Charlie']

 

- 딕셔너리에서 자주 사용되는 메서드

Methods 설명 예시
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
keys() 모든 키를 dict_keys 객체로 반환 keys = my_dict.keys()
values() 모든 값을 dict_values 객체로 반환 values = my_dict.values()
items() 모든 키-값 쌍을 (키, 값) 튜플로 구성된 dict_items 객체로 반환 items = my_dict.items()
get() 지정된 키에 대한 값을 반환합니다. 키가 존재하지 않으면 기본값을 반환 age = my_dict.get('age')
pop() 지정된 키와 해당 값을 딕셔너리에서 제거하고 값을 반환 city = my_dict.pop('city')
popitem() 딕셔너리에서 마지막 키-값 쌍을 제거하고 반환 last_item = my_dict.popitem()