[Elice] 01-04 파이썬에서 자료를 담는 여러가지 방식
-
리스트 활용
- []대괄호로 표현,
- list.append(d) : 자료 d를 리스트 마지막 원소 뒤에 추가. 오직 한 개의 자료만 넣을 수 있다.
- list.insert(i,d) : 인덱스 i에 자료 d를 추가. 오직 한 개의 자료만 넣을 수 있다.
ex) c = [1, 2, 4, 5]
c.insert(2,3) #c = [1, 2, 3, 4, 5]
- list.remove(d) : 처음 나오는 자료 d를 제거
- list.sort() : 리스트를 정렬. 숫자형은 오름차순, 문자열은 사전순으로 정렬한다.
-
시퀀스 자료형
- 문자열, 리스트, 튜플 등이 이에 속하고, 순서가 있는 자료형은 sequence자료형으로 분류
- 원소 간의 순서가 존재한다 >> indexin, slicing이 가능하다.
ex) print(a[1]) #indexing, 시퀀스 a의 index값이 1인 원소를 출력
print(b[2:4]) #slicing, index 2이상 4미만의 원소를 모두 출력 *indexing/slicing할 때 음수를 넣거나, 자리를 비우는 것도 가능하다
- 음수 : '뒤에서~'라는 의미 ex) -1 = 뒤에서부터의 첫번째 원소
- 공백 : 위치에 따라 맨 앞 or 맨 뒤를 의미한다 ex) [:3] = 맨 앞부터 3까지 slicing
- 원소 조회 : in 연산자로 시퀀스 안에 원소가 있는지 확인 가능
ex) print('o' in a) #결과는 True,False로 출력
- 길이 확인 : len() 연산자로 시퀀스의 길이를 확인
ex) print(len(a)) #원소의 개수 출력
- 연결 연산 : + 연산자로 같은 시퀀스(list끼리, dicttionary끼리...) 두 개를 이어 붙일 수 있다.
ex) c = ['정','현'], d = ['승', '현']
print(c+d) #['정', '현', '승', '현']
- 반복 연산 : ''연산자로 시퀀스를 반복 할 수 있다.
ex) d = 'shy' 3
print(d) #shyshyshy
-
Dictionary
- 짝꿍이 있는 자료형 ex) (1:일), (2:이), (3:삼)... #(key:value)라고 부른다.
- {} 중괄호로 묶어서 표현, ex)dict={}로 정의할 수 있다.
- key : 저장된 value값을 꺼낼 수 있는 도구, 이름표
- value : dictionary에서 key에 대치되어있는 값
- dictionary['key1'] : key의 value값을 추출할 수 있음. list의 indexing과 비슷
- dictionary['key1'] = 'value' ex) dict['hometown'] = 'seoul'
- del 함수로 dictionary의 원소 삭제 ex) del dict['key1']
- key는 변할 수 없는 자료형(=튜플). 따라서 key는 list로 정의 불가
ex) datas = {(1,2,3):'Number'} #Ok, tuple은 ()(소괄호)로 정의