슬라이스
목록이 있거나 부품 tuole 요소는 다음과 같은 예는 목록 작업을 얻기위한 매우 일반적인 가지고 :
>>> L = [마이클 ','사라 ','트레이시 ','밥 ','잭 ']
첫 번째 N 요소를 가지고
>>> R = [] >>> N = 3 >>> 위한 I 의 범위 ( >>> r.append (L [I]) >>> R [ ' 마이클 ' , ' 사라 ' , ' 트레이시 ' ]
요소를 가지고 [시작 : 끝 : 몇 가지를 분해]
>>> L [10 ] [0, 1, 2, 3 ,. ,. ,. 4 5 6 ,. ,. ,. 7 8 9 ,.. ] 후에 번호 10 : >>> L [-10 :] [ 90, 91, 92이며, 93, 94, 95, 96, 97, 98, 99 ] 제 11 - 20 진수 : >>> L은 [10시 20분가 ] [ 10 ,. 11, 12이고, 13은 14, 15, 16 ,. 17, 18 ,. 19 ] 수 (10) 전에, 이들의 각각은 취 L을 [>>> : 10 : 2 ] [0 2 4 6 8 ,. ,, ] 숫자, 각각 5 복용 : . >>> L [5 : ] [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95 ] 또는 기록 심지어 아무것도 기록 만 [:]리스트로 복사 될 >>> L [:] [0 . 1, 2, 3 ,., ..., 99]
되풀이
>>> D = { ' ' 1, ' B ' : 2, ' C ' : 3 } >>> 위한 키 의 D : ... 인쇄 (키)
기본적으로, DICT 반복이 핵심입니다. 당신이 반복 값을 원하는 경우 사용할 수 있습니다 for value in d.values()
당신이 반복 키와 값을 원하는 경우, 사용할 수 있습니다 for k, v in d.items()
.
그럼, 어떻게 객체가 반복 가능하다 판단 하는가? 의 Iterable 유형 결정 모듈에 의해 수집 방법 : >>> 로부터 수집 오기 의 Iterable >>> isinstance ( ' ABC ' ,의 Iterable) # STR인지 반복 트루 >>> isinstance ([1,2,3]의 Iterable) # 목록이 반복 될 수 있는지 여부를 진정한 >>> isinstance (123의 Iterable) #의 정수 여부를 반복 거짓
나열 할 경우 첨자가 수행하는 방법으로 자바의 유사한주기를 달성? 파이썬 열거 기능 목록 인덱스에 내장 될 수있다 - 요소들은 모두 루프 반복 인덱스 및 요소 자체에 대한 인 것 : 그래서 >>> 위해 I, 값 의 열거 ([ ' ' , ' B를 ' , ' C ' ]) ... 출력 (I, 값) ... 0 A 1이다. B 2 C
목록 생성하려면 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
사용할 수 있습니다 list(range(1, 11))
:
>>>리스트 (범위 (1, 11 ))
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
당신이 생성 할 경우 [1x1, 2x2, 3x3, ..., 10x10]
어떻게 할까? 첫 번째 루프 방법 :
>>> L = [] >>> 대한 X 의 범위 (1, 11 ) ... L.append (X * X) [X * X 에 대한 X 의 범위 (1,11 )] [ 1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 两层
>>> [x * x for x in range(1, 11) if x % 2 == 0] [4, 16, 36, 64, 100]
>>> [m + n for m in 'ABC' for n in 'XYZ'] ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
및 경우에 대해
for
전면 if ... else
식이고
반면 for
후자의 것은 if
없다으로하는 필터이다 else
.
당신은 할 수 있습니다 isinstance(x, str)
이 변수가 문자열이 아닌 결정 isinstance
발전기
발전기 발전기로서 알려진 순환기구 동안 계산치
발전기를 만들려면 여러 가지 방법이 있습니다.
첫 번째 방법은 ()로 화학식] 목록만큼 매우 간단 발전기 작성 >>>를 L = [X * X 에 대한 X 의 범위 (10 )] >>> L [0 , . 1 ,. 4 ,. 9, 16, 25, 36, 49, 64, 81 ] >>> G = (X * X 에 대한 X 의 범위 (10 )) >>> G <OBJECT 생성기 <genexpr> 0x1022ef630 AT>
그러나 약 (는) 다음 필요! ! ! ! 다음
더 이상 요소 시간, 발생StopIteration
오류.
그것은 음란!>>> g = (x * x for x in range(10)) >>> for n in g: ... print(n)
DEF FIB (최대) : N, A, B = 0, 0, 1 동안 N < 최대 : 수율 B , B = B, A +의 B , N = N + 1 명 복귀 ' 완료 '