리스트
- 순서대로 여러 값이 담겨있음.
- 대괄호 [ ] 를 사용하여 리스트를 만들 수 있다.
- 각 값은 쉼표로 구분되며, 대괄호 안에 들어간다.
리스트의 인덱싱(Indexing)
리스트에서 특정 값에 접근하거나 일부분을 추출하는 방법
- 인덱싱 : 리스트에서 특정 위치의 값에 접근하는 방법
# 리스트 생성
numbers = [1, 2, 3, 4, 5]
# 첫 번째 요소에 접근하기
first_number = numbers[0]
print("First number:", first_number)
# 두 번째 요소에 접근하기
second_number = numbers[1]
print("Second number:", second_number)
# 마지막 요소에 접근하기
last_number = numbers[-1]
print("Last number:", last_number)
# 음수 인덱스를 사용하여 역순으로 요소에 접근하기
second_last_number = numbers[-2]
print("Second last number:", second_last_number)
- 리스트 값 삭제
# 리스트의 항목 삭제
del my_list[0]
print("첫 번째 항목 삭제 후 리스트:", my_list)
# 리스트 내 값들의 모든 항목 제거
my_list.clear()
print("모든 항목 제거 후 리스트:", my_list)
슬라이싱
리스트 슬라이싱은 리스트의 일부분을 추출하는 것
- 리스트에서 특정범위의 항목을 선택하거나 리스트를 자르는 등의 작업을 할 수 있다.
# 리스트 슬라이싱의 구분
new_list = old_list[start:end:step]
- 파이썬은 맨 처음을 가리키는 인덱스가 0이다.
- 슬라이싱을 할 때 끝에 입력할 인덱스는 내가 선택할 인덱스보다 +1을 해준다.
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]
리스트의 다양한 메소드 : 특정자료형 뒤에 점.을 붙이고 쓰는 내장함수들을 '메소드(method)'라고 한다.
- append(): 리스트에 항목을 추가합니다.
- extend(): 리스트에 다른 리스트의 모든 항목을 추가합니다.
- insert(): 리스트의 특정 위치에 항목을 삽입합니다.
- remove(): 리스트에서 특정 값을 삭제합니다.
- pop(): 리스트에서 특정 위치의 값을 제거하고 반환합니다.
- index(): 리스트에서 특정 값의 인덱스를 찾습니다.
- count(): 리스트에서 특정 값의 개수를 세어줍니다.
- sort(): 리스트의 항목들을 정렬합니다.
- reverse(): 리스트의 항목들을 역순으로 뒤집습니다.
# 리스트 생성
my_list = [1, 2, 3, 4, 5]
#리스트의 다양한 메서드(Methods)
my_list.append(6) # 리스트에 새로운 항목 추가
print(my_list) # 출력: [1, 2, 3, 4, 5, 6]
my_list.extend([7, 8, 9]) # 다른 리스트의 모든 항목을 추가
print(my_list) # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9]
my_list.insert(2, 10) # 두 번째 위치에 값 삽입
print(my_list) # 출력: [1, 2, 10, 3, 4, 5, 6, 7, 8, 9]
# 이건 실행하는 코드가 아닙니다
## a_list.insert(index, element)
my_list.remove(3) # 값 3 삭제
print(my_list) # 출력: [1, 2, 10, 4, 5, 6, 7, 8, 9]
popped_value = my_list.pop(5) # 다섯 번째 위치의 값 제거하고 반환
print(popped_value) # 출력: 6
print(my_list) # 출력: [1, 2, 10, 4, 5, 7, 8, 9]
print(my_list.index(4)) # 출력: 3 (값 4의 인덱스)
print(my_list.count(7)) # 출력: 1 (값 7의 개수)
my_list.sort() # 리스트 정렬
print(my_list) # 출력: [1, 2, 4, 5, 7, 8, 9, 10]
my_list.reverse() # 리스트 역순으로 뒤집기
print(my_list) # 출력: [10, 9, 8, 7, 5, 4, 2, 1]
문자열
글의 형태인 데이터, 문자들의 모임
작은 따옴표' ' , 큰 따옴표 " " 둘다 같다
따옴표로 감싸지 않으면 변수이름을 뜻함
a = 1
b = "a"
c = a
print(a, b, c) # 1 "a" 1
문자열 인덱싱 : 문자열의 일부를 따로 떼어 부르는 방법
한 글자 씩 부를 때는 몇 번째인지 '인덱스'를 넣어 부른다.
문자열의 일부를 잘라낼 때는 슬라이싱
특정 문자열로 자르고 싶을때 : split(문자열)
문자열의 메소드
- 모든 알파벳 대문자 또는 소문자로 바꾸기
sentence = 'Python is FUN!'
sentence.upper() # PYTHON IS FUN!
sentence.lower() # python is fun!
- 특정 문자를 기준으로 문자열 나누기
# 이메일 주소에서 도메인 'gmail'만 추출하기
myemail = 'test@gmail.com'
result = myemail.split('@') # ['test','gmail.com'] (뒤에 배울 '리스트'라는 자료형이에요 :))
result[0] # test (리스트의 첫번째 요소)
result[1] # gmail.com (리스트의 두 번째 요소
result2 = result[1].split('.') # ['gmail','com']
result2[0] # gmail -> 우리가 알고 싶었던 것
result2[1] # com
# 한 줄로 한 번에!
myemail.split('@')[1].split('.')[0]
- 특정 문자를 다른 문자로 바꾸기
txt = '서울시-마포구-망원동'
print(txt.replace('-', '>')) # '서울시>마포구>망원동'
'내배캠_Data_3기 > TIL' 카테고리의 다른 글
240712_데이터 리터러시 (0) | 2024.07.15 |
---|---|
240712_파이썬, PYTHON, 딕셔너리 (0) | 2024.07.12 |
240710_PYTHON, 파이썬 기초, 리스트 (0) | 2024.07.10 |
240705_데이터 리터러시 (1) | 2024.07.05 |
240703_파이썬, PYTHON, 문제풀이 (0) | 2024.07.03 |