1. 리스트: 많은 양의 데이터 관리
-파이썬 자료구조 형태 중 하나
-순서(index)가 있는 객체의 집합
-기호 [](대괄호) 사용, 리스트 내부의 값은 ,(콤마)로 구분
-배열과 달리 서로 다른 자료형의 변수를 하나로 묶을 수 있다.
- 빈 리스트 a=[]
- 서로 다른 자료형 b=[1, 2, ‘my’ ‘name’]
- 리스트 안 리스트 c=[1, 2, [‘my’, ‘name’]]
☆추가, 수정, 삭제 가능→리스트 함수 이용
2. 리스트의 인덱싱과 슬라이싱
-순서가 있는 데이터에서 인덱싱 슬라이싱 필수
- 인덱싱: 리스트명[인덱스번호]
-리스트 안에 있는 리스트 속 값 불러오기
→ 리스트명[첫 번째 리스트의 인덱스번호][두 번째 리스트의 인덱스번호]
- 슬라이싱: 리스트명[시작인덱스: 끝 인덱스(포함x)]
3. 리스트의 연산(더하기): 리스트명[인덱스번호]+리스트명[인덱스번호]
4. 리스트 함수
1)값 추가하기
- append(): 맨 뒤에 값을 추가하는 역할
- 사용방법: 리스트명.append(추가할 값) * 온점(.): 접근 연산자
-추가할 값은 정수, 문자열, 리스트 등 다양한 자료형 입력 가능
-단, 복수의 값을 리스트로 묶지 않고 추가할 수 없음→반드시 리스트로 묶기
예)list1.append(1,2,3)(x) →list1.append([1,2,3])(x)
-하나의 값을 리스트로 묶는 것은 가능하다
예)list.append([1])
- insert(): 원하는 위치에 값을 추가하는 역할
-사용방법: 리스트명.insert(인덱스번호, 추가할 값)
-빈 리스트에 append()함수를 활용하여 새로운 값 추가 가능
2)값 수정하기
-리스트명[수정하고 싶은 인덱스번호]=수정할 값
3)값 삭제하기
- del 키워드: del 리스트명[삭제할 값의 인덱스 번호]
- remove() 함수: 리스트명.remove(삭제할 값)
[del remove의 차이점]
del | remove | |
제거방법 | 인덱스 번호 | 삭제할 값 |
리스트 안에 리스트에 있는 값 삭제 list1=[1, [2,3,4]] |
가능 del list1[1][0] |
불가 list1.remove(list1[1]) 리스트 전체만 삭제 가능 |
4)값 정렬하기
- sort(): 리스트명.sort()
-오름차순 정렬(기본값)
-내림차순 정렬: 리스트명.sort(reverse=True)
- reverse(): 인덱스 위치를 역순으로 배치 예)시작인덱스번호↔끝 인덱스번호
-내림차순 정렬: sort()로 오름차순 정렬 후 reverse 함수로 뒤집기
*shift+tab: 해당 기능 설명 펼치기
5)기타 함수
- index(값): 데이터의 위치값을 알려주는 함수
-리스트명. index(값)
-중복된 값이 있는 경우 중복된 값 중 먼저 있는 값의 인덱스 번호 출력
예)’가을’이 2번, 4번 인덱스에 있는 경우 2번만 출력
- pop(): 리스트의 가장 마지막 값을 출력 후 제거하는 함수
-리스트명.pop()
[반대] append(): 리스트 맨 뒤에 값을 추가하는 함수
- len(리스트명): 리스트의 길이(리스트 안 요소의 개수)를 알려주는 함수
-len(리스트명)
[실습 1]music_list에 인덱스번호, 노래제목, 가수명을 입력받아 insert함수로 추가하기
music_list=[['Hype boy', 'NewJeans'], ['LOVE DIVE', 'IVE'], ['사건의 지평선', '윤하']]
loc= int(input("추가하고 싶은 인덱스 위치 입력>>"))
song=input("추가하고 싶은 노래 제목 입력>>")
singer=input("추가하고 싶은 가수명 입력>>")
music_list.insert(loc, [song, singer]) #리스트 추가(위치, 추가할 값)
music_list
5. 튜플
-파이썬의 자료구조 형태 중 하나
-순서(index)가 있는 객체의 집합
-많은 양의 데이터를 관리할 때 사용, 여러 개의 데이터를 하나로 묶어 관리
-자료형의 구분이 없이 서로 다른 자료형을 하나로 묶을 수 있음(배열과의 차이점)
-인덱스 번호가 존재: 0번부터 순차적으로 번호가 부여됨
-기호는 소괄호()로 작성하며, 내부 값은 ,(콤마)로 구분
☆추가, 수정, 삭제 불가능
-값이 변경되면 안 되는 고정적인 값을 관리할 때 사용 예)주민등록번호
<리스트와 튜플의 공통점과 차이점>
구분 | 리스트 | 튜플 |
공통점 |
자료형과 상관없이 복수 개의 요소들을 묶을 수 있다. | |
요소의 순서(index)를 관리한다. | ||
차이점 |
가변적(추가, 수정,삭제 o) | 불변적(추가, 수정, 삭제x) |
- 입력할 요소의 개수가 명확하지 않음 - 요소의 개수가 유동적 |
-입력할 요소의 개수를 사전에 정확하게 알고 있음 -요소의 개수가 변동이 없음 |
6. in, not in 키워드
- in: 찾고자 하는 값이 포함되어 있으면 True 출력, 아니면 False 출력
- not in: 찾고자 하는 값이 포함되어 있지 않으면 True 출력, 아니면 False 출력
[실습2]
lst=['딸기', '바나나', '수박', '체리', '포도']
fruit=input("과일 입력>>")
if fruit in lst[ : len(lst)]:
print(f"{fruit}(은)는 리스트에 {lst.index(fruit)}번째 인덱스에 들어있습니다.")
elif fruit not in lst[ : len(lst)]:
print(f"{fruit}(은)는 리스트에 들어있지 않습니다.")
[tip]
-자동완성: tab
-주피터 노트북 테마 설정
'PYTHON' 카테고리의 다른 글
[Python]6. 딕셔너리, 함수 (0) | 2023.06.19 |
---|---|
[Python]5. 반복문 실습 (0) | 2023.06.15 |
[Python]4. 반복문 (0) | 2023.06.11 |
[Python]2. 연산자와 조건문 (1) | 2023.06.09 |
[Python]1. 변수와 문자열 (0) | 2023.06.05 |