• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

t:t[1] 질문

22.09.01 04:16 작성 조회수 161

0

for i, v in OrderedDict(sorted(word_count.items(), key=lambda t:t[1], reverse=True)).items():
    print(i,v)

해당 코드에서 정확히 t:t[1]가 어떤 의미인지 조금더 자세하게 설명해주실수 있을까요?
여태 듣던 강의에서 나왔었는지가 확실하지 않아 여쭤봅니다.

감사합니다.

답변 2

·

답변을 작성해보세요.

1

SoYoung Yoon님의 프로필

SoYoung Yoon

2022.09.01

지나가다 보여서 ^^ 강의에 있었는지는 모르지만, 답변을 달아봅니다.

t 는 parameter 이고 sequential type (index를 사용할 수 있는)의 container를 argument로 전달해 주어야 하는 것으로 보여집니다.

예를 들어 str, tuple, list 등이고요.

t[1]은 그 container에서 1번 index에 있는 item을 의미하는 것입니다.

func = lambda t : t[1] # 위의 lambda 함수를 func에 저장하고,
A = func('ABC')            # 실행하면 결과로 'B' 가 반환되며,
B = func([1,2,3])          # 실행하면 결과로  2 가 반환됩니다.
print(A, B, sep='\n')

위의 질문에서 보여주신 코드는 word_count 가 딕셔너리이고, 그 딕셔너리의 item의 value의 내림차순으로 정렬하여 OrderedDict을 만들어 그 item을 출력해 보는 코드입니다.

예를 들면 다음과 같습니다.

from collections import OrderedDict word_count = {'A':3, 'B':2, 'C':5} 
     for i, v in OrderedDict(sorted(word_count.items(), key=lambda t:t[1], reverse=True)).items(): print(i,v)

결과)

C 5
A 3
B 2

0

Pizza Pasta님의 프로필

Pizza Pasta

2022.10.07

저만 답변이 이해가 안 되는 걸까요 ㅜ

저도 저 부분에서 이해가 안 되어서 질문하러 들어왔습니다