🧑💻
12/15 SmallStep Start !
파이썬300제 101~150번까지 완료
🖊️
공부기록
set(집합)
- 순서가 없고, 집합안에서는 unique한 값을 가집니다. 그리고 mutable 객체입니다.
- 중괄호를 사용하는 것은 dictionary와 비슷하지만, key가 없습니다. 값만 존재합니다.
- 중복된 값은 자동으로 중복이 제거 됩니다.
- set의 in은 다른 collection 타입과 동일하게 동작 합니다.
- 원소 추가는 add 메소드를 이용합니다
>>> k = {100, 105} >>> k.add(50) >>> k {105, 50, 100} >>> k.add(12) >>> k {105, 50, 100, 12}
- dictionary의 update는 여러값을 수정 또는 추가할때 사용했습니다만, set은 중복은 자동으로 제거되고 수정이라는 개념보다, 여러데이터를 한번에 추가할 때 사용합니다.
>>> k = {1, 2, 3} >>> k.update([3, 4, 5]) >>> k {1, 2, 3, 4, 5}
- remove(item) : item에 해당하는 원소를 제거하고, 없으면 KeyError 발생
>>> k = {1, 2, 3} >>> k.remove(3) >>> k {1, 2} >>> k.remove(3) Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 3
- discard(item) : item에 해당하는 원소를 제거하고, 없어도 에러발생하지 않음
>>> k = {1, 2, 3} >>> k.discard(3) >>> k {1, 2} >>> k.discard(3) >>> k {1, 2}
|
- 합집합 연산자&
: 교집합 연산자^
: 대칭차집합 연산자(합집합 - 교집합)|=, &=, -=, ^=
:=
과 조합함으로써 연산과 동시에 할당합니다.
for 문법
기초문법 배우기-1에서 for문의 핵심은 "들여쓰기된 코드가 자료구조에 저장된 데이터 개수만큼 반복된다"라고 설명했습니다.
for item in iterable: ... 반복할 구문...
- 들여쓰기된 코드의 내용은 중요하지 않습니다. 파이썬 인터프리터가 코드를 해석하는 순서를 익히는 것이 중요합니다.
- 라인1의 for문이 실행되면 변수에 첫 번재 데이터를 바인딩합니다. 그리고 들여쓰기된 라인 2의 코드를 실행합니다.
- for문은 동일한 루틴을 반복해서 실행하는 문법이었습니다.
- 우선 문제에서 변하지 않고 반복되는 코드를 찾아보세요. print(변수) 부분이죠? 변하는 부분은 변수에 값을 대입하는 코드입니다.
- 문제에서 원하는 것은 들여쓰기된 코드가 4번 실행되는 것입니다. 그렇다면 for문의 자료구조자리에 데이터가 4개저장된 리스트가 들어가면 어떻게 될까요?
for 변수 in ["가", "나", "다", "라"]: print("-------")
- 변수에 값이 바인딩되지만 사용되지 않을뿐 실행해보면 들여쓰기된 코드가 4번 실행됩니다.
- 위 예제에서는 자료구조에 "가나다라" 문자열 값을 넣었지만 아래와 같이 1,2,3,4 숫자 값을 넣어도 동일한 동작을 합니다.
- 자료구조에 네 개의 데이터가 들어있으면 됩니다.
- 변하는 값은 for문의 자료구조 자리에, 변하지 않는 코드는 들여쓰기 후에 작성합니다.
range
- range는
range(시작숫자, 종료숫자, step)
의 형태로 리스트 슬라이싱과 유사합니다. - range의 결과는 시작숫자부터 종료숫자 바로 앞 숫자까지 컬렉션을 만듭니다.
- 시작숫자와 step은 생략가능합니다.
- range는 값을 확인하기 위해서 다른 순서 있는 컬렉션으로 변환해야합니다.
>>> range(5,10) range(5, 10) >>> list(range(5,10)) [5, 6, 7, 8, 9] >>> tuple(range(5,10)) (5, 6, 7, 8, 9)
- step을 사용해봅니다.
>>> list(range(10,20,2)) [10, 12, 14, 16, 18] >>> list(range(10,20,3)) [10, 13, 16, 19]
enumerate
- 반복문 사용 시 몇 번째 반복문인지 확인이 필요할 수 있습니다. 이때 사용합니다.
- 인덱스 번호와 컬렉션의 원소를 tuple형태로 반환합니다.
>>> t = [1, 5, 7, 33, 39, 52] >>> for p in enumerate(t): ... print(p) ... (0, 1) (1, 5) (2, 7) (3, 33) (4, 39) (5, 52)
'국비교육 빅데이터 분석과정 수업일지' 카테고리의 다른 글
#6 미쳐버리겠네, 데이터분석 입문_day6😬 (0) | 2021.12.20 |
---|---|
#5 판다스 배우기, 데이터분석 입문_day5😣 (0) | 2021.12.17 |
#4 파이썬 반복과 판다스 시작, 데이터분석 입문_day4📋 (0) | 2021.12.16 |
#2 둘째 날, 데이터분석 입문_day2🖊️ (0) | 2021.12.15 |
#1 작은발자국, 데이터분석 입문_day1 😊 (0) | 2021.12.15 |