1. List = [ ]
- list : 여러가지 값을 순서대로 담을 수 있는 변경가능한 시퀀스
# 1. 리스트 생성
my_list = [1, 2, 3, 4, 5]
# 2. 리스트의 기본 구조
print(my_list) # 출력: [1, 2, 3, 4, 5]
1-1. 인덱싱 [ ] : 1개의 값 가져오기
- 일부 추출 : 인덱싱(indexing) -> 파이썬은 0부터 시작 : [0] ~
역순으로 시작 <- [-1] ~
first_number = my_list[0]
print("first_number:",first_number) # first_nuber:1
last_number = my_list[-1]
print("last_number:",last_number) # first_nuber:5
- list의 함수(메서드)
- .append(값) : 값 추가
- .extend() : 리스트 + 다른 리스트의 모든 값 추가
- .insert(위치,값) : 특정위치에 값 삽입
- .remove() : 특정 값 삭제
- .pop(위치) : 특정 위치의 값 제거 후 다시 반환
- .index(값) : 특정 값의 인덱스(위치) 찾기
- .count(값) : 특정 값의 개수 세기
- .sort() : 리스트 정렬
- .reverse() : 항목을 역순으로 정렬
my_list.append(6) # 리스트에 새로운 항목 추가
print(my_list) # 출력: [1, 2, 3, 4, 5, 6]
- 리스트의 값 삭제
- del 리스트 [ ] : 리스트의 값 삭제
- .clear() : 리스트 내의 모든 값 삭제
# 리스트의 항목 삭제
del my_list[0]
print("첫 번째 항목 삭제 후 리스트:", my_list)
# 리스트 내 값들의 모든 항목 제거
my_list.clear()
print("모든 항목 제거 후 리스트:", my_list)
- 특정 위치의 리스트 값 -> 다른 값으로 변경하기(수정)
my_list = ['apple', 'banana', 'cherry', 'date', 'elderberry']
# 리스트 값 변경하기 : date -> dragonfruit
my_list[3] = 'dragonfruit'
print(my_list) # ['apple', 'banana', 'cherry', 'dragonfruit', 'elderberry'] 로 출력
- 2개 이상 중첩된 리스트에서도 인덱싱 가능
# 중첩된 리스트에서 인덱싱하기
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(nested_list[1][0]) # 4 (두 번째 리스트의 첫 번째 항목)
1-2. 슬라이싱 [ : : ] : 값의 범위(여러개) 가져오기
리스트의 일부분 추출, 특정 범위 선택하여 가져오기
my_list = a_list [ 시작위치 : 끝나는 위치 : 간격 ]
start - 0부터 시작
end - index+1 해서 써야함.
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 1. 일부분만 추출하기
-> # end 인덱스의 한칸 전까지만 간다
print(my_list[2:5]) # [3, 4, 5] 출력
- 음수 인덱스 : 시작 하는 위치가 -n번째 라는 거지, 방향이 반대인 것은 아님.
방향은 그대로!
# 4. 음수 인덱스 사용하기 (뒤에서부터 추출)
print(my_list[-3:]) # 출력: [8, 9, 10]
1-3. 정렬 .sort( )
- (기본) 오름차순 정렬 : .sort()
- 내림차순 정렬 : .sort(reverse=True)
my_list = [2,3,4,7,5]
my_list.sort() # 오름차순 정렬(기본)
my_list.sort(reverse=True) # 내림차순 정렬
print(my_list) # 오름차순 # [2,3,4,5,7]
# 내림차순 # [7,5,4,3,2]
2. Tuple = ( ) or 생략 가능
한 번 생성된 이후에 요소를 추가, 삭제, 수정 xxx -> 변경할 수 없는 시퀀스 자료
=> 데이터를 보호하고 싶을 때 주로 사용
- List 와 비슷하게 인덱싱/슬라이싱 가능
- 메서드
- .count()
- .index()
- Tuple ↔ List 변환
- Tuple → List : list( )
- List → Tuple : 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. Dictionary = { }
데이터를 사전처럼 정리 가능, 표로 정리하기에 유용함.
my_dict = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3'
}
- key : 중복되지 않아야 함.(유일)
- 값(value) : 중복 ok
- 인덱싱(순서대로) x " key " 를 통해 찾아내는/수정하는 것
변수 [ key ]
# 학생 성적표
grades = {
'Alice': 90,
'Bob': 85,
'Charlie': 88
}
print(grades['Alice']) # 출력: 90
# 값 수정하기
grades['Bob'] = 95
# 요소 추가하기
grades['David'] = 78
# 요소 삭제하기
del grades['Charlie']
- 메서드
- .key() : 모든 key를 dict_keys 객체로 반환
- .value() : 모든 값을 dict_values 객체로 반환
- .items() : 모든 key-값 쌍을 (키, 값) 튜플로 반환
- .get() : 지정 key에 대한 값을 반환
- .pop() : 지정 key-값 쌍을 딕셔너리에서 제거 후 반환
- .popitem() : 마지막 key-값 쌍을 제거 후 반환
# 딕셔너리 생성
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
# keys() 메서드 예제
keys = my_dict.keys()
print("Keys:", keys) # dict_keys(['name', 'age', 'city'])
# values() 메서드 예제
values = my_dict.values()
print("Values:", values) # dict_values(['John', 30, 'New York'])
# items() 메서드 예제
items = my_dict.items()
print("Items:", items) # dict_items([('name', 'John'), ('age', 30), ('city', 'New York')])
# get() 메서드 예제
age = my_dict.get('age')
print("Age:", age) # 30
# pop() 메서드 예제
city = my_dict.pop('city')
print("City:", city) # 출력: New York
print("Dictionary after pop:", my_dict) # {'name': 'John', 'age': 30}
# popitem() 메서드 예제
last_item = my_dict.popitem()
print("Last item popped:", last_item) # ('age', 30)
print("Dictionary after popitem:", my_dict) # {'name': 'John'}
'데이터 분석 > Python' 카테고리의 다른 글
| Python(4) : 함수 (0) | 2025.03.11 |
|---|---|
| Python 기초문법 라이브세션 : 코드 작성시 주의할 점 8가지 (1) | 2025.03.07 |
| Python(3) 제어문 : 조건문 - if / 반복문 - for, while (0) | 2025.03.06 |
| Python (1) : print, 변수, input (0) | 2025.03.05 |
| [TIL3] Python 기초 문법(2) (0) | 2025.02.19 |