파이썬 자료형 -2
이번에는 배열형태의 자료형 입니다
<리스트>
자바에서 배운 리스트와 동일한 형태로 사용합니다
a = [] 형태나 a = list() 형태나 a = [1,2,3] 형태로 선언 및 초기화 할 수 있고
a[index] 의 형태로 호출 합니다
a = [1,2,3,[4,5,6]] 의 형태로리스트 안에 리스트도 넣을 수 있고
리스트 안에 있는 리스트는 a[3][2] 의 형태로 호출 가능합니다
리스트 안에 들어갈 수 있는 리스트의 갯수는 제한이 없지만 3단(배열로 치면 3차배열) 이상 들어가는 경우는 거의 없는것 같습니다
a=[1,2,3] b=[4,5,6] 두개의 리스트가 있을 때 a+b로 두개의 리스트를 합칠 수 있습니다
리스트의 특정 인덱스 값을 수정할 때에는 a[index] = 1 의 형태로 교체할 수 있습니다
리스트에 값을 추가 하고싶으면 a.append(값) 의 형태로 하나씩만 추가 할 수 있고 리스트 뒤에 붙습니다
a.insert(index,값) 으로 원하는 위치에 값을 추가할 수도 있고
a.extend(리스트) 형태로 여러개의 값을 한번에 추가할 수도 있습니다
리스트의 특정 인덱스를 제거하고 싶으면 del a[index] 형태로 삭제할 수 있고 a.pop(index) 함수로도 삭제가 가능합니다
두 함수의 차이점은 del 은 삭제만 해주고 pop 은 삭제보다는 뽑기에 가깝습니다
b = a.pop(index) 를 실행 하면 뽑은 값을 b에 대입하고 a에서 뽑은 인덱스를 지워줍니다
삭제방법의 또 한가지는 a.remove(값) 인데 index 번호가 아닌 일치하는 값을 찾아서 지워줍니다
해당하는 값이 없을 경우 에러가 발생합니다
<셋(set)>
자바에서 중복제거용으로 자주 사용했던 set 자료형과 같습니다
a = set() 이나 a = set('hello')로 선언 및 초기화 할수 있습니다
셋에서 추가는 a.add(값) 형태로 하나씩 추가하거나 a.update(set([4,5,6])) 형태로 여러개를 추가 할 수 있습니다
셋에서 제거는 a.remove(값) 형태로 지울 수 있습니다
파이썬에서 제공하는 set은 집합개념으로 두개의 set의 교집합, 차집합, 합집합 등을 간단하게 구할 수 있습니다
교집합(두 집합의 공통된 부분)은 a & b 혹은 a.intersection(b)
합집합(두 집합의 합)은 a | b 혹은 a.union(b)
차집합(한 집합에서 다른집합에 겹치는 부분을 뺀 부분)은 a - b 혹은 a.difference(b)
<튜플>
튜플은 수정(추가, 변경, 삭제)이 불가능한 점을 제외하고는 리스트와 비슷합니다
<딕셔너리>
딕셔너리는 해석 그대로 사전처럼 사용합니다(자바의 Map 형태)
a = {'key':'value', '이름':'값', 'name':'Lee', 'age':31, 'phone':'123-1234-1234'} 의 형태로 초기화 가능하고
a['name']의 형태나 a.get('name')의 형태로 호출합니다
a.get으로 호출시 해당하는 key가 없을 경우
a.get('name','값이 없을경우 기본값')의 형태로 기본값을 줄 수 있습니다
딕셔너리 추가는 a['key']='값' 형태로 가능하고 삭제는 del a['key'] 형태로 가능합니다
a.keys() 함수를 이용해 해당 딕셔너리 안에 존재하는 모든 '키'들을 리스트형태로 가져올 수 있고
a.values() 함수를 이용해 존재하는 모든 '값'들을 리스트형태로 가져올 수 있고
a.items() 함수를 이용해 존재하는 모든 '키','값'을 리스트형태로 가져올 수도 있습니다
'name' in a 함수를 통해 a딕셔너리에 'name'이라는 '키'가 있는지 Boolean 형태로 가져옵니다
<슬라이싱>
앞에서 설명한 인덱싱을 이해했다면 슬라이싱은 간단합니다
슬라이싱은 'n번째부터 m번째 보다 작은' 까지 해당하는 인덱스를 가져옵니다
a = 'hello world' 에서 4번째 부터 8번째까지
즉 'o wor' 까지 가져오려면 a[4:9]를 입력하면 됩니다
마지막 숫자가 9 인것은 찾아올 인덱스번호가 4~8까지 이기 때문에
'4부터 9보다 작은' 조건으로 찾아오기 때문입니다
문자열 뿐 아니라 리스트처럼 인덱스번호 지정이 가능한 자료형에서는 '슬라이싱'이 가능합니다
2019/02/27 - [Computer Language/ Python] - 파이썬 시작
2019/02/27 - [Computer Language/ Python] - 파이썬 자료형 - 1
2019/02/27 - [Computer Language/ Python] - 파이썬 자료형 -2
2019/02/27 - [Computer Language/ Python] - 파이썬 기본자료형에서 많이 쓰는 함수
2019/02/27 - [Computer Language/ Python] - 파이썬 주의해야 할 것들
2019/02/27 - [Computer Language/ Python] - 파이썬 사용자 정의 함수 만들기
2019/02/28 - [Computer Language/ Python] - 파이썬 비교연산자
2019/02/28 - [Computer Language/ Python] - 파이썬 조건문 if
2019/02/28 - [Computer Language/ Python] - 파이썬 반복문 while과 for
2019/02/28 - [Computer Language/ Python] - 파이썬 프로그램 사용에서의 입력과 출력
2019/02/28 - [Computer Language/ Python] - 파이썬 파일의 입력과 출력