dictionary 에서 특정 값들의 합 구하기
조회수 525회
{'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
댓글 입력