이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
파이썬에서는 List Comprehension을 통해서 보다 다양한 for 또는 반복 작업을 한 줄로 정리할 수 있습니다. 예를 들어 모든 데이터들에 대해 특정한 연산을 하는 작업이 존재한다고 가정합니다.
이 예제에서는 리스트에 존재하는 데이터들의 원소들에 대해서 모두 내용 뒤에 기존의 길이를 접미사로 추가하고 있습니다. 그러기 위해서는 for문을 통해 모든 내용들을 직접 순회하며 data[i]로 값을 변경해야 합니다. 또는 리스트를 새로 만드는 방법을 활용할 수 있겠습니다.
결과
['ABC는 3', 'AACD는 4', 'ADCD는 4', 'ACDEE는 5', 'BFFDD는 5', 'EGGDD는 5', 'CBA는 3', 'CAB는 3']
그러나 List Comprehension을 사용하면 더욱 간단하게 표현할 수 있습니다.
리스트가 존재하면, 해당 리스트를 순회하면서 제시된 형식에 따라 데이터를 바로 생성 해 넣습니다.
data=[값 for for문조건]
몇 가지 예시
1. 데이터와 길이를 묶어 하나의 원소로 가지는 리스트 모음
결과
[['ABC', 3], ['AACD', 4], ['ADCD', 4], ['ACDEE', 5], ['BFFDD', 5], ['EGGDD', 5], ['CBA', 3], ['CAB', 3]]
2. 데이터와 길이를 묶되, 길이가 4이상인 데이터만 걸러내기
결과
[['AACD', 4], ['ADCD', 4], ['ACDEE', 5], ['BFFDD', 5], ['EGGDD', 5]]
3. 데이터와 길이를 묶되, 길이가 4이상인 데이터는 리스트 원소로, 그 외는 튜플 원소로 묶기
결과
[('ABC', 3), ['AACD', 4], ['ADCD', 4], ['ACDEE', 5], ['BFFDD', 5], ['EGGDD', 5], ('CBA', 3), ('CAB', 3)]