[프로 그래 밍 의 선] 코드 시리즈: 출력 사전 포맷

The Zen of Python: One Line Code
오늘 한 Python 이 막 입문 한 여자 친구 가 저 에 게 질문 을 했 습 니 다. 하나의 list 가 있 습 니 다. 그 중에서 dict 가 저장 되 어 있 습 니 다. 모든 dict 의 key 는 같 습 니 다. dict 의 값 은 정형 수치 입 니 다. Python 코드 로 표 형식 으로 출력 하 십시오.예 를 들 면:
[{'a': 1, 'b': 2, 'c': 3},{'a': 4, 'b': 5, 'c': 6},{'a': 7, 'b': 8, 'c': 9}]
=> a b c
   1 2 3
   4 5 6
   7 8 9

사실은 아주 간단 한 수요 입 니 다. 나중에 알 고 있 을 때 여러분 이 말 린 코드 를 곰 곰 이 생각해 보고 시도 해 보기 로 했 습 니 다.처음에는 각종 iterator 에 착안 하여 처 리 를 하려 고 오랫동안 시도 해 보 았 지만 방법 이 없 었 다.최근 2 년 동안 자바 가 너무 많이 썼 기 때문에 영광 은 functional program 에서 각종 apply, map, reduce, filter 등 함수 식 표기 법 을 떠 올 렸 다. 조사 한 결과 Python 은 과연 이런 표기 법 이 있어 서 얻 었 다.코드 는 다음 과 같 습 니 다:
One Line Code
#! /usr/bin/env python
# -*- coding: utf-8 -*-


def format(lst: list) -> str:
    return '
'.join([' '.join(lst[0]),'
'.join(map(lambda d : ' '.join([str(x) for x in d.values()]), lst))]) if __name__ == '__main__': data = [{'a': 1, 'b': 2, 'c': 3}, {'a': 4, 'b': 5, 'c': 6}, {'a': 7, 'b': 8, 'c': 9}] print(format(data))

Origin Code
#! /usr/bin/env python
# -*- coding: utf-8 -*-


def format(lst: list) -> str:
    header = ' '.join(lst[0])
    store = []
    for item in lst:
        store.append(' '.join(str(x) for x in item.values()))
    return '
'.join([header, '
'.join(store)]) if __name__ == '__main__': data = [{'a': 1, 'b': 2, 'c': 3}, {'a': 4, 'b': 5, 'c': 6}, {'a': 7, 'b': 8, 'c': 9}] print(format(data))

좋은 웹페이지 즐겨찾기