본문 바로가기
파이썬

파이썬 변수가 앞에 오는 Python for-in 루프

by º기록 2020. 9. 30.
반응형
foo = [x for x in bar if x.occupants > 1]

여기에서 인터넷 검색 및 검색을 한 후에도 이것이 무엇을하는지 알 수 없습니다. 내가 올바른 물건을 찾고 있지 않았을 수도 있지만 여기 있습니다. 이 속기의 해체에 대한 모든 의견은 대단히 감사합니다.

 

해결 방법

 


예를 들어 10 개의 숫자가 있고 5보다 큰 숫자의 하위 집합이 필요하다고 가정 해 보겠습니다.

>>> numbers = [12, 34, 1, 4, 4, 67, 37, 9, 0, 81]

위 작업의 경우 아래 접근 방식은 서로 완전히 동일하며 가장 장황한 것에서 간결하고 읽기 쉬운 pythonic 으로 이동합니다.

result = []
for index in range(len(numbers)):
    if numbers[index] > 5:
        result.append(numbers[index])
print result  #Prints [12, 34, 67, 37, 9, 81]
result = []
for number in numbers:
    if number > 5:
        result.append(number)
print result  #Prints [12, 34, 67, 37, 9, 81]
result = [number for number in numbers if number > 5]
[function(number) for number in numbers if condition(number)]

어디:

구문을 약간 다른 방식으로 이해하려면 아래 보너스 섹션을 참조하십시오.


(약간 비단뱀 적이지만 완전성을 위해 여기에 두십시오)

위의 예는 다음과 같이 작성할 수 있습니다.

result = filter(lambda x: x > 5, numbers)

위의 일반 표현식은 다음과 같이 작성할 수 있습니다.

result = map(function, filter(condition, numbers)) #result is a list in Py2

 

참조 페이지 https://stackoverflow.com/questions/6475314

 

 

반응형

댓글