내가 정수의 목록에서 가장 작은 홀수 번호를 찾을 수있는 방법, 문제의 문장은 I가 을 사용할 수 없다는 말한다면 및 ?기능 프로그래밍 : 목록에서 가장 작은 홀수 번호를 찾을 수는
-5
A
답변
1
당신은 filter
및 min
를 사용할 수 있습니다
s = [4, 2, 3, 4, 7, 1]
smallest_odd = min(filter(lambda x:x%2 != 0, s))
출력 :
1
1
왜 사람이 for
또는 if
을 사용하는 것이 좋습니다?
min(numbers, key=lambda n: (n&1==0, n))
+1
상당히 빠르기 때문에? 솔루션에'min (num % 2 == 0이면 num의 num 값)을 비교하면 속도가 2/3 배 향상됩니다. 타이밍 환경 외부에서 키 기능을 정의하더라도 여전히 사실입니다. – Sebastian
0
당신은 규칙을 우회하는
ints = [2,6,8,4,6 ]
srt = sorted(ints)
while len(srt) > 0 and not srt[0] % 2:
srt = srt[1:]
s = None
while len(srt):
s = srt[0]
srt=[]
print(s)
를 사용할 수 있습니다. 목록을 정렬하고 정면에서 짝수 값을 버립니다.
결과 목록은 비어 있거나 앞에 값이 있습니다.
두 번째 while은 목록에 요소가 포함되어 있고 목록이 비어있는 것으로 재설정 된 경우에만 입력되며 (false 일 경우 while은 유효하지 않습니다).
"없음"또는 가장 낮은 짝수 번호가 인쇄됩니다.
기능 프로그래밍이 무엇인지 이해합니까? for 문이나 if 문을 사용하지 못하게하는 이유는 무엇입니까? – Sebastian
odds = [i lints의 경우 i (i % 2) == 1]; min (확률) – Gary02127
@ Gary02127 -'if'를 사용했습니다. –