강화학습_(2) - Python 기초_4

Study/Reinforcement learning · 2019. 10. 20. 18:18

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() : 딕셔너리에 있는 모든 요소들을 삭제.

 

반응형