본문 바로가기
<p class="coding">/Python 코테

[코딩테스트 Python] Lamda

by daisy26 2023. 9. 5.

My 두개골..

<Lambda>

정렬할 때 특히 자주 등장하시는 람다함수에 대해 알(아보고 싶지 않지만) 알아보자

lambda 매개변수 : 표현식

예를 들어

def hap(x, y):
	return x + y
    
#lambda 형식으로 표현    
(lambda x,y: x + y)(10, 20)

 

람다 표현식에서 조건부 형식을 활용하기

lambda 매개변수들 : 식1 if 조건식 else 식2

Sort

Sort Reverse Order using Lambda

# Create list with numbers
numbers = [2, 4, 1, 6, 3]
print("Original:",numbers)

# Using sort() with lambda
numbers.sort(key=lambda x:x, reverse=True)
print("Revers order using sort:",numbers)

# Using sorted() with lambda
sorted_numbers = sorted(numbers, key=lambda x: x, reverse=True)
print("Revers order using sorted:",sorted_numbers)

# Output:
Original: [2, 4, 1, 6, 3]
Revers order using sort: [6, 4, 3, 2, 1]
Revers order using sorted: [6, 4, 3, 2, 1]

Sorting List of Tuples using Lambda

# Sort list of tuples
lst = [('Ann','20','400'), ('Scott','40','500'), ('Bean','10','450')]
lst.sort(key=lambda x:x[1])
print(lst)

# Output:
# [('Bean', '10', '450'), ('Ann', '20', '400'), ('Scott', '40', '500')]

 

https://school.programmers.co.kr/learn/courses/30/lessons/42746

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

def solution(numbers):
    numbers = list(map(str, numbers))
    numbers.sort(key=lambda x: x*3, reverse=True)
    return str(int(''.join(numbers)))

 

https://sparkbyexamples.com/python/sort-using-lambda-in-python/

 

Sort using Lambda in Python - Spark By {Examples}

How to perform a sort with lambda in python? A lambda function is a small anonymous function, it can be created or defined using the lambda keyword. You

sparkbyexamples.com

 

map()

reduce()

filter()

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/42579

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

def solution(genres, plays):
    #장르별 합계를 우선 구해야 하고,
    #그 다음에 장르 내에서 많이 재생된 순서 -> 고유번호 오름차순
    total = {}
    cnt = {}
    idx = 0
    answer = []
    
    for i,j in zip(genres, plays):
        #이미 genre가 있어
        if(i in total):
            total[i] = total[i] + j
            cnt[i].append([idx,j])
        #없어
        else:
            total[i] = j
            cnt[i] = [[idx,j]]
        idx = idx + 1
    rank = sorted(total, key=lambda x:total[x], reverse=True)
    
    for item in rank:
        # sorting songs based on the number of plays in descending order.
        temp = sorted(cnt[item], key=lambda x:(x[1],-x[0]), reverse=True)
        print(temp)
        # printing twice only.
        for i in range(2):
            answer.append(temp[i][0])
            # if a particular genre has only one song, break the loop.
            if len(cnt[item]) < 2: break
    return answer

https://wikidocs.net/64

 

3.5 람다(lambda)

오늘은 람다 형식과 그것을 이용하는 여러 가지 함수들에 대해서 알아보겠습니다. 당장 완벽하게 소화하실 필요는 없을 것 같구요, 가벼운 마음으로 이런 것이 있다는 정도만 아셔도 되…

wikidocs.net

https://dojang.io/mod/page/view.php?id=2360 

 

파이썬 코딩 도장: 32.2 람다 표현식과 map, filter, reduce 함수 활용하기

람다 표현식 작성 방법을 알아보았으니 이번에는 람다 표현식과 map, filter, reduce 함수를 함께 사용해보겠습니다. 32.2.1  람다 표현식에 조건부 표현식 사용하기 먼저 람다 표현식에서 조건부 표

dojang.io