Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 특정 조건과 일치하는 요소 수

<시간/>

이 기사에서는 Python 목록에서 일부 선택된 요소를 가져오는 방법을 볼 것입니다. 그래서 우리는 어떤 조건을 디자인해야 하고 그 조건을 만족하는 요소들만 선택하고 그 개수를 출력해야 합니다.

위트와 합

이 접근 방식에서는 조건을 사용하여 요소를 선택하고 일부를 사용하여 개수를 얻습니다. 요소가 있는 경우 1이 사용되며 조건의 결과에 0이 사용됩니다.

예시

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt = sum(1 for i in Alist if i in('Mon','Wed'))
print("Number of times the condition is satisfied in the list:\n",cnt)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3

지도 및 람다 사용

여기서도 조건에 사용되지만 람다 및 맵 기능도 사용합니다. 마지막으로 sum 함수를 적용하여 개수를 얻습니다.

예시

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt=sum(map(lambda i: i in('Mon','Wed'), Alist))
print("Number of times the condition is satisfied in the list:\n",cnt)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3

감소 사용

reduce 함수는 인수로 제공된 목록의 모든 요소에 특정 함수를 적용합니다. 최종적으로 조건과 일치하는 요소의 개수를 생성하는 조건과 함께 사용합니다.

예시

from functools import reduce
Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt = reduce(lambda count, i: count + (i in('Mon','Wed')), Alist, 0)
print("Number of times the condition is satisfied in the list:\n",cnt)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3