일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- dict
- AWS
- 중급파이썬
- lambda
- merge
- Class
- flask
- TypeScript
- node
- wetube
- 파이썬
- socket io
- 채팅
- 튜플
- EC2
- RDS
- SSA
- 카톡
- Vue
- S3
- NeXT
- react
- docker
- async
- SAA
- pandas
- Props
- MongoDB
- git
- crud
- Today
- Total
목록Python/윤성우 열혈 파이썬 (30)
초보 개발자
[딕셔너리 루핑 테크닉] 딕셔너리를 대상으로 하는 가장 보편적인 for루프 구성은 다음과 같다. d = dict(a=1,b=2,c=3) for k in d: #k에는 키가 담긴다. print(d[k], enc=', ') 근데 아래와 같은 메소드를 알아두면 for 루프를 구성할 때 좀 더 효율적으로 코드를 작성할 수가 있다. dict.keys() 딕셔너리의 키들만 참조하고자 할 때 dict.values() 딕셔너리의 값들만 참조하고자 할 때 dict.items() 딕셔너리의 키와 값을 튜플 형태로 참조하고자 할 때 위의 세 메소드가 반환하는 것을 가리켜 뷰 객체라고 한다. 뷰 객체도 iterable객체로 다음과 같이 for 루프를 통해 그 값을 하나씩 참조할 수 있다. 다음은 keys 메소드를 사용한 예이..
[dict의 다양한 생성 방법] 일반적인 딕셔너리의 생성방식은 다음과 같다!! d = {'a':1,'b':2,'c':3} d {'a':1,'b':2,'c':3} 그리고 딕셔너리는 dict라는 클라스의 객체이다 type({}) # 빈 딕셔너리 전달하면서 type함수 호출 따라서 dict클래스의 객체를 직접 생성하는 형태로도 딕셔너리를 만들 수 있다. 물론 생성 방법에 차이가 있을 뿐 만들어진 결과물은 동일하다. d = dict([('a'),1,('b',2),('c',2)]) # 또 다른 딕셔너리 생성 방법 d {'a':1,'b':2,'c':3} 튜플들을 묶어서 리스트 안에 넣었다. 딕셔너리의 키가 문자열인 경우에는 다음과 같이 생성할 수도 있다. 이 경우 a,b,c는 안그럴거같지만 문자열로 인식이된다. d..
[네임드 튜플의 이해와 작성] tri_one = (12, 15) #삼각형 밑변 12와 높이 15를 묶어 놓은 것) tri_one (12, 15) 주석을 통해 앞에 있는 12가 밑변이고 15가 높이라고 말하지 않았다면 이 사실을 몰랐을 것이다. 이러한 단점을 보완하기 위해서 만든것이 정보를 튜플에 새겨 놓을 수 있도록 한 것이 네임드 튜플이다. 튜플도 클래스의 객체이다. 우리는 튜플에 각 각 이름을 부여할 것이다. 이것은 무엇을 의미하냐면 튜플로 사용할 수 있는 클래스를 하나 만든다는 의미이고, 일반적으로 클래스를 만들려면 귀찮으니까 이름을 부여한 튜플을 생성할 수 있는 클래스를 만드는 방법으로 파이썬에서 namedtuple이라는 함수를 제공하고 있다. 파이썬 : 너는 클래스의 이름하고, 튜플의 각 위치별..
패킹 : 묶기 언패킹 : 풀기 * → 묶는다 라는 의미라고 생각하자 단! 단 하나의 경우에는 풀기의 의미도 있다. 그게 언제냐면 함수를 호출하면서 인자를 전달할 때이다. 튜플로 값을 묶는 행위를 가리켜 '튜플 패킹'이라 하고 반대로 튜플로 묶여 있는 값들을 풀어내느 행위를 '튜플 언패킹'이라 한다. 튜플 패킹 : 하나 이상의 값을 튜플로 묶는 행위 튜플 언패킹 : 튜플레 묶여 있는 값들을 풀어내는 행위 tri_one = (12, 15) #밑변 길이 12와 높이 길이 15를 묶어 놓은 것 # tri_one = 12, 15 이렇게 소괄호 생략할 수도 있다. tri_one (12, 15) 보통은 튜플 생성이라고 이야기를 한다. 하지만 튜플 패킹이라고 이야기를 할 수도 있다. 반대로 다음과 같이 튜플에 저장된 ..
앞서 제너레이터 객체를 생성하는 방법에 2가지가 있다고 하였고 제너레이터 함수를 사용하여 생성하는 방법을 포스팅하였는데 이번에는 제너레이터 표현식에 대해서 설명해보려고 한다. st = [2*i for i in range(1,10)] #구구단 2단을 전부 저장한 리스트 생성 st = (2*i for i in range(1,10)) 2단을 반환하는 제너레이터 생성 ( ) 소괄호 안에 저렇게 적어주면 간단하게 제너레이터 표현식이 완성된다. [] 로 감싸주면 리스트 컴프리헨션이지만 ( )로 감싸주면 제너레이터 표현식이 된다. 튜플 컴프리헨션이 아닐까..? 하는 의심이 들지만 제너레이터 표현식이다. next(st)를 하면 2가 출력이 되고 그다음 next(st)를 하면 4 .... 마지막에는 18 그 이후에는 S..
[제너레이터에 대한 이해와 제너레이터 함수] 이번에 소개하는 제너레이터는 iterator 객체의 한 종류이다. 때문에 제너레이터를 전달하면서 next함수를 호출하면 값을 하나씩 얻을 수 있다. 제너레이터를 만드는 두가지 방법이 있다. 제너레이터 함수(function) 제너레이터를 만들기 위한 함수 정의 제너레이터 표현식(expression) 제너레이터를 만들기 위한 식 def gen_num(): # 제너레이터 함수의 정의 print('first number') yield 1 # yield가 하나라도 들어가면 제너레이터가 됩니다. print('second number') yield 2 print('third number') yield 3 gen = gen_num() # 제너레이터 생성 yield가 하나라도..
[map과 filter를 대신하는 리스트 컴프리헨션] map st1 = [1,2,3] st2 = list(map(lambda n: n**2, st1)) # 제곱의 결과를 리스트로 묶음 st2 [1,4,9] 이는 리스트 컴프리헨션으로 다음과 같이 작성할 수도 있다 st1 = [1,2,3] st2 = [n**2 for n in st1] st2 [1,4,9] filter st[1,2,3,4,5] ost = list(filter(lambda n : n % 2, st)) # 홀수만 남겨서 리스트로 묶음 ost [1,3,5] 이는 리스트 컴프리헨션으로 다음과 같이 작성할 수도 있다 st[1,2,3,4,5] ost = [n for n in st if n % 2] ost [1,3,5] map, filter 동시사용 s..
[map] def pow(n): return n ** 2 # n의 제곱 값을 계산해서 반환 str1 = [1,2,3] 우리는 [1,4,9]와 같이 st1에 있는 요소들을 제곱한 결과를 가지고 있는 리스트를 가지고싶다. 이럴경우에 저 pow함수를 활용하여 번거롭게 만들 수 있는 방법이 있다. st2 = [pow(st1[0]), pow(st1[1]), pow(st1[2])] 리스트의 길이가 길기도하고, 이렇게 일일이 함수를 호출하는 것도 번거롭다. 이 때 MAP함수가 이 번거로움을 대신해준다. def pow(n): return n ** 2 # n의 제곱 값을 계산해서 반환 st1 = [1,2,3] st2 = list(map(pow,st1)) # map은 st1의 값들을 전달하면서 pow를 호출! st2 [1..