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

주어진 시리즈에서 완벽한 사각형을 필터링하는 Python 프로그램

<시간/>

입력 -

시리즈가 있다고 가정합니다.

0    14
1    16
2    30
3    49
4    80

출력 -

완전 정사각형 요소의 결과는 다음과 같습니다.

0    4
1    16
3    49

해결책 1

정규식과 람다 함수 필터 방법을 사용하여 완벽한 제곱 값을 찾을 수 있습니다.

  • 시리즈를 정의하십시오.

  • 람다 필터 방법을 적용하여 값이 완전제곱수인지 확인합니다. 아래에 정의되어 있습니다.

   l = [14,16,30,49,80]
   data=pd.Series([14,16,30,49,80])
   result =pd.Series(filter(lambda x: x==int(m.sqrt(x)+0.5)**2,l))
  • 마지막으로 isin() 함수를 사용하여 계열에 대한 값 목록을 확인합니다.

예시

import pandas as pd
import math as m
l = [4,16,30,49,80]
data = pd.Series(l)
print(data)
lis = []
for i in range(len(data)):
   for j in data:
      if(data[i]==int(m.sqrt(j)+0.5)**2):
         lis.append(data[i])
print(“Perfect squares in the series: \n”, data[data.isin(lis)])

출력

Given series:
0    4
1    16
2    30
3    49
4    80
dtype: int64
Perfect Squares in the series:
0    4
1    16
3    49
dtype: int64

해결책 2

예시

import re
import math as m
l = [14,16,30,49,80]
data = pd.Series([14,16,30,49,80])
print(“Given series:\n”, data)
result = pd.Series(filter(lambda x: x==int(m.sqrt(x)+0.5)**2,l))
print(data[data.isin(result)])

출력

Given series:
0    14
1    16
2    30
3    49
4    80
dtype: int64
Perfect squares:
1    16
3    49
dtype: int64