다음 파이썬 함수를 한줄짜리 코드로 바꿀수 있는 방법이 있을까요?

One-line Coding에 조건은 빌트인 함수내에서 코드를 작성해야 하고 그 중에서 map과 lambda가 코드에 무조건 들어가야하고 enumerate를 사용하지 않는 것입니다.

2개의 답변이 있어요!

  • 안녕하세요.

    리스트 내에서 음수의 마지막 순서를 찾는 함수군요.

    lambda if를 이용하여 양수를 0으로하고, 음수는 range를 이용하여 순서를 가져온 후 max를 이용하여 마지막 순서(가장 큰 수)를 출력하게 만들었습니다.

    def f14(x_list): print(max(list(map(lambda x, y: y if x < 0 else 0, x_list, range(len(x_list))))))

  • 안녕하세요.

    샘플 소스 입니다.

    f14 = lambda list1: max(map(lambda i: i if list1[i] < 0 else 0, range(0, len(list1)))) print(f14([1,2,3])) print(f14([-1,-2,3])) # 출력 0 1