딕셔너리의 결과값을 processing해서 출력하고 싶어요.
조회수 513회
** 캐릭터 승률 **
a : [4, 1, 0.8]
b : [6, 4, 0.6]
c : [0, 1, 0.0]
d : [5, 8, 0.38]
print("** 캐릭터 승률 **")
for k,v in character_list3.items() :
print(k,':',v)
위와 같은 코드를 사용해서 출력을 했는데요.
만약 value값의 리스트의 [값1, 값2, 값3] 중 값1과 값2의 합이 3을 넘지 않는다면
출력하지 않는 코드를 작성하고 싶고, 값3의 크기 순서대로 딕셔너리 값들을 나열하고 싶어요.
어떤 식으로 접근하면 좋을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
dic = { 'a': [4, 1, 0.8], 'b': [6, 4, 0.6], 'c': [0, 1, 0.0], 'd': [5, 8, 0.38] } # 값1+값2 >= 3 필터링 filtered_dic = {k:v for k,v in dic.items() if v[0]+v[1] >= 3} # 값3으로 오름차순 정렬 sorted_filtered_dic = sorted(filtered_dic.items(), key=lambda kv: kv[1][2]) # 출력 print(sorted_filtered_dic)
- 많은 도움이 되었습니다! 알 수 없는 사용자 2019.7.29 13:22
- 궁금한 점이 있어요: 왜 key=lambda부분에서 인자를 kv를 사용하는 건가요? 알 수 없는 사용자 2019.7.29 13:32
댓글 입력