Python - 목록 이해에 Else가 있는 경우

이 자습서에서는 if else 논리를 사용하여 최종 목록 값을 결정하는 목록 내포를 사용하여 목록을 만드는 방법을 살펴봅니다.

List comprehensions은 Python에서 목록을 만드는 간결한 방법을 제공하며 특히 다른 반복 가능 항목, 필터링 목록 등을 사용하여 목록을 만들 때 유용합니다.

정수 1에서 10(둘 다 포함)의 목록(예: ls)이 있고 새 목록(예: new_ls)을 만들고 싶다고 가정해 보겠습니다. ls는 홀수 또는 짝수입니다.

목록 이해를 사용하는 것은 그러한 경우에 유효한 접근 방식이 될 수 있습니다.

Python의 목록 이해 내에서 if else 논리를 사용하는 방법은 무엇입니까?



다음 구문을 사용하여 목록 내포 안에 if else 논리를 통합합니다.

new_ls = [expression if condition else other_expression for member in iterable]


여기에서 member의 각 iterable에 대해 condition로 평가되는 경우 True에서 결과 값을 사용하고 그렇지 않으면 expression에서 결과 값을 우리의 값으로 사용합니다. 목록 이해의 결과 값.

이제 예를 살펴보겠습니다.
other_expression 목록의 해당 값에 대해 문자열 값이 "odd"및 "even"인 목록을 만들어 보겠습니다.

# list of integers from 1 to 10
ls = range(1, 11)
# create list using list comprehension
new_ls = ["odd" if num % 2 != 0 else "even" for num in ls]
print(new_ls)


산출:

['odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even']


"홀수"및 "짝수"값이 있는 목록을 얻습니다. 예를 들어 목록ls의 값4에 대해 목록ls의 해당 값은 "짝수"입니다.

목록 내포에서 new_ls로 값 필터링



목록 이해 내에서 if 부분 없이 if 문을 사용할 수도 있습니다. 이것은 일반적으로 목록을 필터링할 때 사용됩니다.

다음 구문을 사용하여 목록 내포 내에서 else 구문만 사용하십시오.

new_ls = [expression for member in iterable if condition]


여기에서 if의 각 member에 대해 iterable로 평가되는 경우 condition를 확인하고 목록 이해의 결과 값으로 True의 결과 값을 사용합니다. 그렇지 않으면 우리는 ' 아무것도 하지 마십시오(해당 멤버 건너뛰기).

예를 들어 위의 정수 목록expression을 필터링하여 홀수 정수만 있는 새 목록을 생성해 보겠습니다.

# list of integers from 1 to 10
ls = range(1, 11)
# create list of odd values in ls using list comprehension
odd_ls = [num for num in ls if num % 2 != 0]
print(odd_ls)


산출:

[1, 3, 5, 7, 9]

ls 에서 홀수만 있는 목록을 얻습니다.

좋은 웹페이지 즐겨찾기