좋은 Python 루프를 작성하려면 for 문이 필요하지 않습니다! ! !
먼저 한 걸음 물러서서 for 루프 작성 뒤에 있는 직관이 무엇인지 살펴보겠습니다.
1. 일부 정보를 추출하기 위해 시퀀스를 탐색합니다.
2. 현재 시퀀스에서 다른 시퀀스를 생성합니다.
3. 저는 프로그래머이기 때문에 루프는 제2의 천성입니다
다행히도 Python에는 이러한 목표를 달성하는 데 도움이 되는 훌륭한 도구가 이미 있습니다! 당신이 해야 할 일은 마음을 바꾸고 사물을 다른 관점에서 보는 것뿐입니다.
모든 곳에 for 루프를 작성하지 않으면 무엇을 얻을 수 있나요?
1. 코드 줄이 적습니다.
2. 코드 가독성이 향상됩니다.
3. 코드 텍스트를 관리하려면 들여쓰기만 사용하세요.
아래 코드 뼈대를 살펴보세요.
아래 코드 구조를 살펴보세요.# 1 with ...: for ...: if ...: try: except: else:이 예제에서는 여러 수준의 중첩 코드를 사용하므로 읽기가 매우 어렵습니다. 나는 이 코드에서 관리 논리(with, try-Exception)와 비즈니스 논리(for, if)를 혼합하기 위해 들여쓰기를 무분별하게 사용한다는 것을 알았습니다. 관리 논리에 들여쓰기만 사용하는 규칙을 준수한다면 핵심 비즈니스 논리는 즉시 제거해야 합니다.
“扁平结构比嵌套结构更好” – 《Python之禅》
for 루프를 방지하려면 다음 도구를 사용할 수 있습니다
1. 목록 이해/생성기 표현기존 시퀀스를 기반으로 새 시퀀스를 주로 컴파일하는 간단한 예를 살펴보세요.
result = [] for item in item_list: new_item = do_something_with(item) result.append(item)MapReduce가 마음에 드신다면 , 맵 또는 Python의 목록 분석을 사용할 수 있습니다.
result = [do_something_with(item) for item in item_list]마찬가지로 반복자를 얻으려는 경우 거의 동일한 구문을 사용하는 생성기 표현식을 사용할 수 있습니다. (어떻게 Python의 일관성에 빠지지 않을 수 있나요?)
result = (do_something_with(item) for item in item_list)Function 한 시퀀스를 다른 시퀀스에 매핑하려면 map 함수를 직접 호출하세요. (대신 List comprehension을 사용할 수도 있습니다.)
doubled_list = map(lambda x: x * 2, old_list)시퀀스를 하나의 요소로 줄이려면, Reduce
from functools import reduce summation = reduce(lambda x, y: x + y, numbers)를 사용하세요. 또한, Python의 많은 내장 함수는 반복자를 사용할 수 있습니다:
>>> a = list(range(10)) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> all(a) False >>> any(a) True >>> max(a) 9 >>> min(a) 0 >>> list(filter(bool, a)) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> set(a) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} >>> dict(zip(a,a)) {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9} >>> sorted(a, reverse=True) [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>> str(a) '[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]' >>> sum(a) 45
위 내용은 좋은 파이썬 루프를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
