예제가 있는 Python 목록 이해 [2022]
게시 됨: 2021-06-29시퀀스는 파이썬에서 이해를 사용하여 이미 정의된 시퀀스에서 간결하거나 짧은 방식으로 구성할 수 있습니다. 시퀀스에는 목록, 사전, 집합 등과 같은 데이터 구조가 포함됩니다. 파이썬에서 지원되는 이해는 다음과 같습니다.
- 목록 이해
- 사전 이해
- 이해력 설정
- 생성기 이해
이 기사는 파이썬의 목록 이해와 그 사용법에 중점을 둘 것입니다. 목록 이해 집합과 마찬가지로 파이썬의 사전 이해 도 만들 수 있습니다.
목차
목록 이해란 무엇입니까?
Python은 사용자에게 쉽고 우아한 코드를 작성할 수 있는 기능을 제공하는 널리 사용되는 프로그래밍 언어입니다. 목록 이해는 새 목록을 만드는 데 사용되는 Python의 독특한 기능 중 하나입니다. 한 줄의 코드를 사용하여 기능을 만들 수 있습니다.
if 조건이 목록 이해에 포함되어야 하는 것은 아니지만 여러 형식이 목록 이해에 포함될 수 있습니다.
따라서 목록 이해
- 존재하는 목록을 기반으로 목록을 정의하고 생성하는 우아한 방법입니다.
- 목록 및 루프 생성을 위한 일반 함수와 비교할 때 목록 이해는 훨씬 더 간결하고 빠릅니다.
- 코드가 더 사용자 친화적이려면 긴 목록 이해의 작성을 피해야 합니다.
- for 루프를 사용하는 동안 목록 이해를 다시 작성할 수 있습니다.
목록을 만드는 방법?
프로그래밍 언어 파이썬에서 목록을 만드는 방법에는 여러 가지가 있습니다.
1. for 루프
For 루프는 목록을 만드는 데 사용할 수 있습니다. 요소 목록을 작성하려면 세 단계를 따라야 합니다.
- 빈 목록이 인스턴스화됩니다.
- 반복할 수 있는 요소에 대해 반복이 사용됩니다.
- 각 요소는 목록 끝에 추가됩니다 .
2. map() 객체
대체 접근 방식, 즉 map()은 함수형 프로그래밍을 기반으로 합니다. 객체는 반복 가능한 함수와 요소가 map()에 전달될 때 생성됩니다. 제공된 함수를 통해 iterable 요소의 실행에서 생성되는 출력은 객체에 포함됩니다.
3. 목록 이해
목록을 만드는 또 다른 방법은 목록 이해를 사용하는 것입니다. for 루프는 한 줄로 구성된 코드로 다시 작성할 수 있습니다.
빈 목록이 먼저 생성되고 마지막에 요소가 추가되는 이전 방법과 비교하면 이 경우 단순히 한 줄에 발생합니다. 목록과 내용이 동시에 정의될 뿐입니다. 사용된 코드는 .
모든 파이썬 목록 이해 에는 세 가지 요소가 있습니다 .
- 표현식: 멤버이기 때문에 표현식 은 메소드 호출 또는 값이 리턴되는 표현식입니다.
- Member: iterable 목록의 값 또는 개체입니다. 위의 예에서 멤버의 값은 1입니다.
- Iterable: 한 번에 하나씩 요소를 반환할 수 있는 목록, 시퀀스, 집합 또는 기타 개체입니다. Iterable은 위의 예에서 range(10)입니다.
파이썬 목록 이해 는 map()을 사용하는 곳에서도 잘 작동할 수 있습니다. 위의 예는 다음과 같이 다시 작성할 수 있습니다.
map()과 list comprehension 사용의 차이점은 list comprehension의 경우 list가 반환되고 map()의 경우 map 객체가 반환된다는 것입니다.
조건문
기존 목록은 목록 내포에서 조건문을 사용하여 수정할 수 있습니다. 목록 또는 튜플, 둘 다 파이썬 목록 이해를 통해 수정할 수 있습니다.
1. if의 조건 사용
'if'의 조건은 다음 코드를 통해 목록 이해에 사용할 수 있습니다.
위의 프로그램을 실행하면 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] 출력이 생성됩니다.
2. 중첩 IF의 조건 사용
목록 이해는 다음을 확인합니다.
- 요소 y는 2 또는 5로 나눌 수 있습니까?
- 두 조건이 모두 y에 의해 충족되면 num_list에 추가됩니다.
더 읽어보기: 현실 세계의 매혹적인 Python 응용 프로그램
3. if-else 사용
위의 예에서 10개의 숫자, 즉 0에서 10까지의 숫자는 목록 이해로 확인됩니다.
4. 중첩 루프 사용
생성된 출력: [[1, 4], [2, 5], [3, 6], [4, 8]]
행렬의 전치는 두 개의 루프를 사용하여 계산됩니다.
- 일반적인 중첩 루프와 비교하여 목록 내포에 포함된 중첩 루프는 다른 중첩 루프와 다르게 작동합니다.
통사론
파이썬 목록 이해 의 기본 구문 은 다음과 같습니다.
[목록에 있는 항목에 대한 표현식]
문자열이 있고 목록 이해를 사용하여 반복하려고 한다고 가정합니다.
위의 예에서 'human'은 리스트가 아닌 문자열로 사용된 것을 알 수 있습니다. 여기에 python list comprehensions 의 힘이 있습니다 . 문자열이든 튜플이든 목록 이해는 그것을 식별하고 목록처럼 작업할 수 있습니다.
루프를 사용하여 동일한 작업을 수행할 수 있습니다. 그러나 목록 이해의 구문 뒤에 루프가 올 수 없습니다.
결론
이 기사에서는 Python의 목록 이해와 다양한 방법으로 작성하는 방법에 대해 간략하게 배웠습니다. 이러한 이해를 바탕으로 작업에 대해 다른 코드를 시도할 수 있습니다. 파이썬이라는 개념이 많은 주목을 받고 있지만 데이터를 효율적으로 사용할 수 있다면 더 가치가 있을 것입니다. 이것은 명확하고 간결한 코드를 작성하여 수행할 수 있습니다.
따라서 데이터 마이닝에서 파이썬과 파이썬의 구현에 대해 배우고 싶다면 upGrad에서 제공하는 데이터 과학의 Executive PG 프로그램 과정을 확인할 수 있습니다. 12개월 과정은 21세에서 45세 사이의 초급 전문가(남성과 여성 모두)를 위해 설계되었으며 인도 최초의 NASSCOM 인증 PGP입니다. 400시간 이상의 학습과 14개 이상의 도구 및 언어에 대한 실습 경험을 통해 이 과정은 귀하의 꿈을 이루기 위해 특별히 설계되었습니다. 코스와 관련된 문의는 언제나 환영입니다.
Python 목록은 다음 시나리오에서 데이터를 저장하는 데 가장 적합한 데이터 구조로 간주됩니다. 목록 이해는 루프에 비해 몇 가지 중요한 이점을 제공합니다. 다음은 목록 이해의 장점 중 일부입니다. Python 목록은 아래에 언급된 여러 가지 방법으로 만들 수 있습니다.데이터 저장에 Python 목록이 선호되는 경우는 언제입니까?
1. 목록은 데이터 유형이 다른 다양한 값을 저장하는 데 사용할 수 있으며 해당 인덱스로만 액세스할 수 있습니다.
2. 요소에 대해 수학 연산을 수행해야 할 때 요소를 직접 수학적으로 연산할 수 있으므로 목록을 사용할 수 있습니다.
3. 목록의 크기를 조정할 수 있으므로 저장할 요소의 수를 확신할 수 없는 경우 데이터를 저장하는 데 사용할 수 있습니다.
4. 목록 요소는 쉽게 변경할 수 있으며 집합 및 사전과 달리 중복 요소를 저장할 수도 있습니다. 루프보다 목록 이해의 장점은 무엇입니까?
1. 목록 이해는 모든 요소를 먼저 수집하고 한 번에 함께 삽입하기 때문에 루프보다 훨씬 빠르고 간결합니다.
2. 블록에서 루프가 수행하는 것과 동일한 작업을 목록 이해를 사용하여 한 줄로 수행할 수 있으므로 코드가 더 깔끔하고 사용자 친화적입니다.
3. 행렬을 벡터로 분해하고 목록 필터링은 목록 이해가 루프를 능가하는 것을 볼 수 있는 가장 좋은 예입니다. 목록을 만드는 다양한 방법을 설명하시겠습니까?
1. for 루프 사용하기 : for 루프는 목록을 생성하는 가장 기본적인 방법입니다. 목록은 세 가지 간단한 방법으로 for 루프를 사용하여 만들 수 있습니다.
ㅏ. 빈 목록을 만듭니다.
비. 삽입할 모든 요소를 반복합니다.
씨. append() 함수를 사용하여 목록의 각 요소를 추가합니다.
2. map() 사용: Python의 map() 함수를 대신 사용하여 목록을 만들 수 있습니다. 이 함수는 두 개의 매개변수를 허용합니다.
ㅏ. Function : 맵이 각 iterable을 전달하는 함수입니다.
비. Iterable: 매핑할 요소 또는 iterable입니다.
3. List comprehensions 사용 : 이 방법은 세 가지 방법 중 가장 최적화된 방법입니다. 위의 방법에서는 먼저 빈 목록을 만들어야 하지만 목록 이해를 사용하면 한 줄을 사용하여 목록의 모든 요소를 삽입할 수 있습니다.