Python의 목록 이해에 대한 자세한 설명

WBOY
풀어 주다: 2023-06-11 09:01:36
원래의
14333명이 탐색했습니다.

Python의 List Comprehension은 목록을 빠르게 생성할 수 있는 편리하고 빠른 구문입니다. 문법적 형태가 수학의 집합유도와 유사하고, 의미도 유사하여 이해하고 사용하기 쉽습니다. Python의 List Comprehension은 아래에서 자세히 소개됩니다.

1. 기본 문법 구조

리스트 이해의 기본 문법 구조는 다음과 같습니다.

[ iterable if 조건의 항목에 대한 표현식 ]

그 중 표현식은 변수, 함수 호출을 포함할 수 있는 목록 생성에 참여하는 표현식을 나타냅니다. item은 생성된 목록의 요소를 나타내며, 조건이 생략 가능한 조건의 필터링을 나타내는 경우 iterable은 목록, 튜플, 집합 등과 같은 반복 가능한 개체를 나타냅니다.

2. 일반적인 사용 시나리오

1. 정수 목록 생성

예를 들어 1에서 10 사이의 정수 목록을 생성하려면 다음 코드를 사용할 수 있습니다.

num_list = [i for i in range(1,11)] print(num_list)
로그인 후 복사

출력 결과는

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
로그인 후 복사

입니다. 여기서는 range() 함수를 사용하여 생성합니다. 1부터 10 사이의 정수 반복자, 그런 다음 목록 이해를 통해 요소를 하나씩 추출하고 목록을 형성합니다.

2. 정사각형 목록 생성

예를 들어, 1~10 사이의 정수로 구성된 정사각형 목록을 생성하려면 다음 코드를 사용할 수 있습니다.

square_list = [i**2 for i in range(1,11)] print(square_list)
로그인 후 복사

출력 결과는 다음과 같습니다.

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
로그인 후 복사

3. 예, 문자열에서 목록에서 길이가 3보다 큰 문자열을 필터링하려면 다음 코드를 사용할 수 있습니다.

str_list = ['hello', 'world', 'python', 'list', 'comprehension', 'study'] new_list = [s for s in str_list if len(s) > 3] print(new_list)
로그인 후 복사

출력 결과는 다음과 같습니다.

['hello', 'world', 'python', 'comprehension', 'study']
로그인 후 복사

여기에서는 if 문을 사용하여 요소를 조건부로 필터링합니다. . 길이가 3보다 큰 문자열만 새 목록에 입력할 수 있습니다.

4. 다중 루프

예를 들어 다음 코드는 1~9 사이의 모든 곱을 생성하는 데 사용할 수 있습니다.

mul_list = [i*j for i in range(1,4) for j in range(1,4)] print(mul_list)
로그인 후 복사

출력 결과는 다음과 같습니다.

[1, 2, 3, 2, 4, 6, 3, 6, 9]
로그인 후 복사

곱셈 연산은 두 레이어의 루프를 통해 구현됩니다. , i 및 j 각각 1, 2, 3을 취하면 해당 제품이 목록의 요소를 형성합니다.

3. 중첩된 목록 이해

목록을 생성할 때 요소에 대해 더 복잡한 작업을 수행해야 하는 경우에는 중첩된 목록 이해를 사용할 수 있습니다. 내포된 목록 내포는 다시 내포된 목록 내포를 기반으로 한 내포된 목록 내포입니다. 문법적 구조는 다음과 같습니다. 조건은 위의 기본 구문 구조와 일치합니다. sub_item은 항목 탐색을 기반으로 다시 탐색되는 요소를 나타냅니다. sub_item의 반복 개체는 sub_item에 대한 필터링 조건을 나타냅니다.

다음은 중첩 목록 이해의 몇 가지 일반적인 예입니다.

1. 정사각형 행렬 생성

예를 들어 3×3 정사각형 행렬을 생성하려면 다음 코드를 사용할 수 있습니다.

matrix = [[i*j for j in range(1,4)] for i in range(1,4)] for row in matrix: print(row)
로그인 후 복사

출력 결과는 다음과 같습니다.

[1, 2, 3] [2, 4, 6] [3, 6, 9]
로그인 후 복사

여기에서는 두 가지 수준의 중첩 파생이 사용됩니다. 외부 파생은 3개의 목록을 생성하고, 내부 이해는 각 목록에 3개의 요소를 생성하여 3×3 정사각형 행렬을 형성합니다.

2. 홀수 및 짝수 필터링

예를 들어 정수 목록에서 홀수와 짝수를 필터링하여 각각 두 개의 목록을 구성하려면 다음 코드를 사용할 수 있습니다.

num_list = [1,2,3,4,5,6,7,8,9,10] odd_list = [i for i in num_list if i%2 == 1] even_list = [i for i in num_list if i%2 == 0] print(odd_list) print(even_list)
로그인 후 복사

출력 결과는 다음과 같습니다.

[1, 3, 5, 7, 9] [2, 4, 6, 8, 10]
로그인 후 복사

여기에서는 두 개의 중첩 항목이 사용됩니다. 목록 이해는 원본 목록에서 홀수 요소와 짝수 요소를 필터링합니다.

4. 요약

목록 이해는 Python 언어의 뛰어난 문법 기능 중 하나이며 다양한 유형의 목록을 쉽게 생성할 수 있으며 중첩과 같은 고급 기능도 지원합니다. 실제 프로그래밍에서 리스트 컴프리헨션을 학습하고 사용하면 코드 작성의 효율성과 가독성을 크게 향상시킬 수 있습니다.

위 내용은 Python의 목록 이해에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!