2. 튜플
데이터 형태가 리스트와 동일.
표현 방법과 사용 용도에 차이가 있다.
- 리스트는 자료를 [과 ] 로 묶는 반면, 튜플은 (와)로 묶는다.
- 튜플은 내부 요소들을 수정, 삭제할 수 없다.
프로그램이 진행되는 동안 값을 변화시키지 않고 종료 될 때 까지 유지할 때 사용하면 좋을 듯.
1) 튜플 생성
리스트와 동일하며 단지, []가 ()로 바뀐다.
2) 튜플 인덱싱
리스트와 사용법이 동일하다.
튜플 이름[index number]으로 값 혹은 튜플을 꺼낼 수 있다.
3) 튜플 연산
리스트와 사용법이 동일하다.
+과 *로 튜플을 늘릴 수 있다.
4) 기타 기능
리스트와 사용법이 동일하다.
len(), index(), 슬라이싱을 사용할 수 있다.
3. 집합
집합의 특징은 중복 값을 추가할 수 없고 요소들의 배열 순서를 정할 수 없다.
1) 집합 선언
>>> set('1122233344555228349')
>>> set("avadjflasdfjksdddsjdiiieiowow")
>>> set(리스트를 넣을 경우)
set으로 정리되어 반환된다.
>>> d = set([1, 2, 3, 4, (5, 6), 5, 6, 7])
** set(1, 2, 3) 과 set([1, 2, 3])의 차이점
2) 집합 연산
1] | : 합집합 -> 중복 요소를 제거하고 남은 요소들을 하나의 함수로 묶어준다.
2] & : 교집합 -> 공통으로 포함된 요소만을 하나의 집합으로 표현한다.
3] - : 차집합 -> 공통으로 포함된 요소를 제거하고 하나의 집합으로 표현한다.
3) 집합 함수
1] add() : 집합에 1개의 요소를 추가할 수 있다.
2] update() : 집합에 2개 이상의 요소를 추가할 수 있다.
3] remove() : 집합에 존재하는 요소를 찾아서 제거할 수 있다.
4] union() : 합집합과 동일한 기능을 한다.
5] intersection() : 교집합과 동일한 기능을 한다.
6] difference() : 차집합과 동일한 기능을 한다.
7] copy() : 함수의 값을 다른 변수명에 복사한다. -> 각각은 완전히 다른 객체이다.
=> set(' ')에 update.([ ])를 하면 됨, 반대도 됨
=> set(' ')과 set([ ])은 합쳐질까?
=> set(' ')를 하면 자꾸 ','도 항목으로 추가된다. 이것도 하나의 문자로 인식하나? sep="문자" 이런게 있었던 것 같은데
=> print 할 때만 적용되는 듯... ex) print("a,b" , "c, d", sep = "-") 출력하면 a,b - c, d
4. 딕셔너리
데이터를 key와 value의 쌍 형태로 선언하는 자료 형이다.
표현 방법은 key와 value를 {과 }로 묶어주고, 쉼표 (,)로 구분한다.
- 입력된 요소들은 순서가 없이 보관되며, key를 이용해서만 접근이 가능하다
- 묶음형 자료는 튜플만 가능하다. (set이나 list는 오류 발생)
1) 딕셔너리 선언
>>> 딕셔너리 = {key: value, key: value}
>>> a = {1: 1, 2: 'a', 'a':1, 'b': '2'}
* key와 value는 숫자와 문자 둘 다 가능 // 튜플도 가능!
* key가 중복됐을 때 가장 뒤에 있는 value로 적용된다.
2) 찾기
>>> 딕셔너리 이름[key]
>>> 딕셔너리 이름.get(key)
3) 추가
>>> 딕셔너리 이름[새로운 key] = value
4) 수정
>>> 딕셔너리 이름[변경하고 싶은 value의 key] = value
5) 삭제
>>> del 딕셔너리 이름(지우고 싶은 key)
6) 기타 함수
1] keys() : 딕셔너리의 key에 해당하는 요소들을 추출해서 dict_keys()에 담아 반환.
2] values() : 딕셔너리의 value의 해당하는 요소를 추출해서 dict_values()에 담아 반환.
3] items() : 딕셔너리의 요소들을 dict_items()에 담아 반환.
4] copy() : 새로운 딕셔너리 이름에 해당 딕셔너리를 복사.
5] clear() : 딕셔너리에 있는 모든 요소들을 삭제.
'Study > Reinforcement learning' 카테고리의 다른 글
강화학습_(4) - Math Preliminary_1 (0) | 2019.10.22 |
---|---|
강화학습_(3) - 시그모이드 (Sigmoid)함수 정의 (0) | 2019.10.21 |
강화학습_(2) - Python 기초_3 (0) | 2019.10.20 |
강화학습_(2) - Python 기초_2 (0) | 2019.10.20 |
강화학습_(2) - Python 기초_1 (0) | 2019.10.20 |