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

Python - 목록에서 k가 적어도 n번 발생하는지 확인

<시간/>

목록을 사용하여 데이터를 분석하는 동안 주어진 요소가 주어진 목록에서 N번 이상 존재하는지 알아내야 하는 상황을 여러 번 접하게 됩니다. 예를 들어 5가 목록에 세 번 이상 있는지 여부를 나타냅니다. 이 기사에서는 이를 달성하는 방법에 대한 2가지 접근 방식을 볼 것입니다.

발생 횟수 계산

아래 접근 방식에서는 숫자와 발생 횟수를 입력으로 사용합니다. 그런 다음 우리는 발생 횟수를 유지하기 위해 디자이너를 따릅니다. 카운트 값이 필요한 값보다 크거나 같으면 결과를 true로 출력하고 그렇지 않으면 false로 출력합니다.

예시

listA =[1, 3, 5, 5, 4, 5]# 주어진 listprint("Given list:",listA)# element ot be checkedelem =5# 발생 횟수N =3res =0for e in listA:if e ==요소:res =res + 1 if res>=N:res =True else:res =False# 인쇄 resultprint("%d가 %d번 이상 발생합니까? :" % (elem, N),res) 

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

출력

주어진 목록:[1, 3, 5, 5, 4, 5]5가 적어도 3번 발생합니까? :사실

Islice 및 다음 사용

이 접근 방식에서는 원래 목록에서 주어진 번호를 포함하는 새 목록을 만듭니다. 이 새 목록에는 true로 표시된 지정된 숫자의 모든 항목이 있습니다. 그런 다음 필요한 수의 True 값이 새 목록에 있는지 계산하는 islice 메서드를 설계합니다. 따라서 필요한 값의 수는 Mark가 true 또는 false를 수행합니다.

예시

from itertools import islicelistA =[2, 11, 9,2, 4, 2]# 주어진 listprint("주어진 목록:",listA)# 검사할 요소요소 =2# 발생 횟수N =3elem_list =[]# listA의 i에 대해 생성:if i ==elem:elem_list.append(True)res =next(islice(elem_list, N-1, None), False)# 인쇄 결과print("%d가 적어도 %d번 발생합니까? :" % (요소, N), 해상도)

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

출력

주어진 목록:[2, 11, 9, 2, 4, 2]2가 적어도 3번 발생합니까? :사실