Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 튜플
- 점프와 순간이동
- 메뉴리뉴얼
- Dynamic Programming
- 영문자 확인
- 문자열
- Stack
- Java
- 어려웠던 문제
- HashMap
- 동적계획법
- HashSet
- fragment identifier
- 프로그래머스
- 규칙찾기
- 후위 표기법
- dfs
- 에라토스테네스의 체
- 쿼드압축 후 개수세기
- pandas
- 조합
- 반복문
- 보이어무어
- 완전 탐색
- 순열
- 2017 카카오 코드
- 완전탐색
- 알고리즘
- 최소공배수
- python
Archives
- Today
- Total
csmoon1010의 SW 블로그
[200711] Python 간단정리 _ 자료구조 본문
1. 리스트
1) 리스트 생성
- 자료형이 동일할 필요가 없음
- 리스트 내에 리스트 추가 가능(모두 형식이 같다면 n차원 리스트)
#선언시 초기화
buylist = ['milk', 'apple', 'noodle']
#빈 리스트 생성 후 추가
contact = []
contact.append('Kim')
#중첩 리스트
primes = [2, 3, 5, 7, 11, ['sun', 'mon', 'tue']]
2) 리스트의 인덱스
primes[0] #2
primes[5] #['sun', 'mon', 'tue']
primes[5][1] #'mon'
3) 리스트의 항목 추가
: append, extend, insert
word = []
#append : 오른쪽 끝에 삽입. 한번에 하나씩
word.append('I')
#extend : 오른쪽 끝에 삽입. 여러개의 항목 추가
word.extend(['love', 'programming'])
#insert : 원하는 위치에 새로운 항목 추가
word.insert(2, 'python')
4) 리스트의 항목 삭제
: remove, del, pop
#remove : 항목의 이름으로 삭제
word.remove('python')
#del : 항목 인덱스로 삭제
del word[2]
#pop : 가장 나중에 추가된 항목 반환 후 삭제
token = word.pop()
5) 리스트 멤버십
: 특정 항목이 존재하는 여부
in, not in 이용
week = ['sun', 'mon', 'tue']
'sun' in week #True
'sun' not in week #False
6) 리스트 자르기(slicing)
: 인덱스를 이용해 여러 개의 부분 리스트로 분리
months = ['jan', 'feb', 'mar', 'apr', 'may']
#list[start:end]
months[1:2] #['feb']
#list[:end]
months[:2] #['jan', 'feb']
#list[start:]
months[2:] #['mar', 'apr', 'may']
#음수가 있는 경우 - 맨 뒤 인덱스를 -1로 하고 1씩 감소됨
months[-4:-1] #['feb', 'mar', 'apr']
#list[start:end:step] - step에 따라 역순으로 출력이 가능
months[-1:-4:-1] #['may', 'apr', 'mar']
7) index 출력
word.index('t') #'t'의 index 번호 출력
8) 리스트 정렬
: sort(), reverse() 이용
#오름차순 정렬
word.sort()
#내림차순 정렬
word.sort(reverse = True)
word.reverse()
9) 리스트 복사
: Call by reference 방식. 하나의 리스트를 공유하는 것
10) 스택(stack)
: 나중에 들어간 항목이 가장 먼저 나오도록 만든 FIFO 자료구조
- 원소 삽입 : stack.append(4)
- 원소 반환 : stack.pop()
2. 튜플(tuple)
1) 튜플의 선언 : 소괄호를 이용
odds = (1, 3, 5, 7, 9)
2) 특징
항목의 변경, 추가, 삭제가 불가능
3. 사전(dictionary)
1) 사전의 선언
: 키(key)와 값(value) 쌍으로 구성된 리스트. 키를 통해 항목의 값에 접근할 수 있음
#D = {'key1' : 'value1', 'key2' : 'value2'}
ds_scores = {'kim' : 50, 'lee' : 70}
2) 사전 항목 추가
ds_scores['park'] = 90 #'park' : 90이 오른쪽 끝에 추가됨!!
3) 사전 항목 삭제
del ds_socres['park'] #'park'키를 가진 항목을 삭제
4) 사전 리스트의 함수
: items(), keys(), values()
#items : 사전 항목을 (key, value) 쌍의 튜플 리스트로 반환
ds_scores.items() # [('kim', 50), ('lee', 70), ('park',90)]
#keys : key만 추출하여 리스트로 반환
ds_scores.keys() # ['kim', 'lee', 'park', 'hwang']
#values : value만 추출하여 리스트로 반환
ds_scores.values() # [50, 70, 90]
5) 사전 항목의 조회
: for문과 items, keys, values 함수 이용
for person, score in ds_scores.items():
print(person, '=', score)
'데이터&인공지능 > 데이터분석(Python)' 카테고리의 다른 글
[200712] Pandas 기초 공부 _ 개념, 데이터 프레임 만들기 (직접, 파일), 파일로 저장하기 (0) | 2020.07.12 |
---|---|
[200711] Python 간단정리 _ 객체와 클래스 (0) | 2020.07.12 |
[200711] Python 간단정리 _ 함수, 모듈 (0) | 2020.07.11 |
[200711] Python 간단정리 _ 제어문 (0) | 2020.07.11 |
[200711] Python 간단정리 _ 변수 및 수식, 파일 처리 (0) | 2020.07.11 |
Comments