참고 파이썬 (14)-day14

1 함수 발생기 고급

1.1 보내

DEF 생성기 ()
     전단 (123 ) 
    콘텐츠 = 수율 . 1 개
     전단 ( ' ======= ' , 컨텐츠)
     전단 (456 ) 
    의 Arg = 수율 2 

G = 생성기 () 
RET = G. __next__ ()
 인쇄 ( " *** ' , RET) 
RET = g.send ( ' 안녕하세요 ' )    #의 전송 및 다음과 같은 효과 
인쇄 ( ' *** ' , RET)

#의 결과 : 
    # 123 
    # *** 1. 
    # ======= 안녕하세요 
    # 456 
    # *** 2

다음에, 다음 효과를 실질적으로 균일 한 값을 전송하기하면
바로 다음 값, 데이터 전송에 위치 수율 도착
의 고려를 보내
  발생기가 다음의 다음 값을 획득하는 것 처음
  마지막 외부 수율 용인 값

평균 데이터 이동 1.2

DEF 평균 () 
    합계 = 0 
    카운트 = 0 
    평균 = 0
     동안 참 : 
        NUM = 항복 평균의  + NUM =     # 10 
        카운트 + 1 =     # 1 
        평균 = 합 / 카운트 

avg_g = 평균 () 
avg_g. __next__ () 
avg1 = avg_g.send (10 ) 
avg1 = avg_g.send (20 ) 
avg1 = avg_g.send (30 )
 인쇄 (avg1)
# WPW 데코 발생기 
DEF 초기화 (FUNC) :    #의 장식 
    DEF 내부 (인수 *, ** kwargs로) : 
        G = FUNC (인수 *, ** kwargs로)     # G = 평균 () 
        G. __Next__ ()
         반환 G가
     돌아 내부 

@Init 
DEF : 평균 () 
    SUM = 0 
    COUNT = 0 
    AVG = 0
     그동안 참 : 
        NUM은 = 항복 AVG의 
        SUM + = NUM의     #을 10
        카운트 + 1 =     # 1 
        평균 = 합 / 카운트 

avg_g =) (평균    # ===> 내부 
RET = avg_g.send (10 )
 인쇄 (RET) 
RET = avg_g.send (20 )
 인쇄 (RET)

(2) 식 발전기

= egg_list [ ' 계란 S % ' % I 위한 I  범위 (10)]     # 목록 유도 식 
인쇄 (egg_list) 

egg_list = []
 에 대한 I  범위 (10 ) : 
    egg_list.append ( ' 계란 S % ' %의 I)
 인쇄 (egg_list) 
# 두가지 방법이 동일
#의 발전기 표현 
G = (I 위한 I  범위 (10 ))
 인쇄 (G)
 에 대한 I 에서   G :
     인쇄 (I)

3, 각종 파생어

# 3 30 나누어 내 모든 
RET = I 에 대한 I  범위 (30) IF I % 3 == 0]   # 완전한 목록 유도 된 
전단 (RET) 
G = (I 위한 I 에서 30 (범위) IF I == 0.3 %)   # 완전한 목록 유도 된 
전단 (G)  = []
 에 대한 I 에서 G : 
    li.append (I) 
전단 (리튬)
# 예 세 : 이름 목록에있는 모든 이름을 찾을 수는 두 개의 중첩의 'E'가 들어 
이름 = [[ ' ' , ' 빌리 ' , ' 제퍼슨 ' , ' 앤드류 ' , ' 웨슬리 ' , ' 스티븐 ' , ' '를 ], 
         [ " 앨리스 ' , ' ' , ' 아나 ' , ' 웬디 ' , ' 제니퍼 ', '쉐리 ' , ' 에바 ' ] 
RET = 이름  LST  이름 에 대한 이름  LST 경우 name.count ( ' E ' ) == 2 ]
 잉크 (RET) 
g = (명  LST  이름 에 대한 이름  LST 경우 name.count ( ' E ' ) == 2 )
 잉크 (g)  = []
 에 대한 I g : 
    li.append (ⅰ) 
잉크 (리튬)
# 사전 적 키와 값 스왑 
CMCase = { ' ' 10, ' B ' : 34이다 }
 # {10 'A'(34)는 'B'} 
mcase_frequency = {CMCase [K] : K 에 대한 K }는 CMCase의
 인쇄 (mcase_frequency)
# 케이스의 값에 대응하는 결합 된 값은, k는 소문자로 통합된다 
CMCase = { ' ' 10, ' B ' : 34이고, ' ' :. 7 ' 는 Z ' :. 3 }
 # { 'A'+ 10 7 'B'34 'Z'이다} 3. 
mcase_frequency의 k.lower = {() mcase.get (k.lower (), 0) + mcase.get (k.upper (), 0) 에 대한 K }는 CMCase의
 인쇄 (mcase_frequency)
# 유도 집합은 결과가 중복되어 함수 
제곱 = {X ** 2  X  [. 1, -1, 2 ]}
 인쇄 (제곱)

 

추천

출처www.cnblogs.com/xiao-le/p/11516683.html