dictionary 에서 특정 값들의 합 구하기

조회수 511회

{'A': [8, 4, 'Team1'], 'B': [7, 6, 'Team2'], 'C': [4, 7, 'Team1'], 'D': [5, 5, 'Team2'], 'E': [2, 9, 'Team1'], 'F': [9, 3, 'Team2'], 'G': [7, 8, 'Team1'], 'H': [6, 4, 'Team2']}

이런 dictionary 에서 value 리스트에 있는 첫번째 숫자들의 합 그리고 두번째 숫자들의 합을 따로 구하고 싶은데 어떻게 코드를 짜야하나요?

Team2 : 첫번째숫자들의합 = 27 두번째숫자들의합 = 18                                                                                   
 B: first = 7, second = 6

 D: first = 5, second = 5

 F: first = 9, second = 3

  H: first = 6, second = 4

Team1 : 첫번째숫자들의합 = 21 두번째숫자들의합 = 28

  A: first = 8, second = 4

 C: first = 4, second = 7

 E: first = 2, second = 9

 G: first = 7, second = 8

이렇게 출력되어야합니다.

2 답변

  • >>> data = {'A': [8, 4, 'Team1'], 'B': [7, 6, 'Team2'], 'C': [4, 7, 'Team1'], 'D': [5, 5, 'Team2'], 'E': [2, 9, 'Team1'], 'F': [9, 3, 'Team2'], 'G': [7, 8, 'Team1'], 'H': [6, 4, 'Team2']}
    >>> for k, v in data.items():
        print(k, v)
    
    
    A [8, 4, 'Team1']
    B [7, 6, 'Team2']
    C [4, 7, 'Team1']
    D [5, 5, 'Team2']
    E [2, 9, 'Team1']
    F [9, 3, 'Team2']
    G [7, 8, 'Team1']
    H [6, 4, 'Team2']
    >>> sum1 = 0
    >>> sum2 = 0
    >>> for k, v in data.items():
        sum1 += v[0]
        sum2 += v[1]
    
    
    >>> sum1, sum2
    (48, 46)
    >>> sum1t1, sum1t2, sum2t1, sum2t2 = 0, 0, 0, 0
    >>> for k, v in data.items():
        if v[2] == 'Team1':
            sum1t1 += v[0]
            sum2t1 += v[1]
    
    >>> sum1t1, sum1t2, sum2t1, sum2t2
    (21, 0, 28, 0)
    
    • 번외: scala 로 해보기
    val M = Map("A" -> Seq(8, 4, "Team1"), "B" -> Seq(7, 6, "Team2"), "C" -> Seq(4, 7, "Team1"), "D" -> Seq(5, 5, "Team2"), "E" -> Seq(2, 9, "Team1"), "F" -> Seq(9, 3, "Team2"), "G" -> Seq(7, 8, "Team1"), "H" -> Seq(6, 4, "Team2"))
    
    M.values
     .groupBy(_(2))
     .foreach(pair => println(s"${pair._1} ${pair._2.collect { case l => l(0).asInstanceOf[Int] }.sum} ${pair._2.collect { case l => l(1).asInstanceOf[Int] }.sum}"))
    
    => Team2 27 18
       Team1 21 28
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)