1
나는 prettyprint로보기 위해 인쇄하고있는 큰 사전을 가지고 있지만 어떻게 pprint에서 정렬 메커니즘을 죽여도 계속 서식을 유지할 수 있습니까?pprint 출력에서 정렬 메커니즘을 사용하지 않음
나는 prettyprint로보기 위해 인쇄하고있는 큰 사전을 가지고 있지만 어떻게 pprint에서 정렬 메커니즘을 죽여도 계속 서식을 유지할 수 있습니까?pprint 출력에서 정렬 메커니즘을 사용하지 않음
monkey patch pprint 모듈을 사용할 수 있습니다. 2 출력이 essentiallly 무작위로 분류되어 있기 때문에
import pprint
pprint.pprint({"abc":1,"def":2,"ghi":3})
pprint._sorted = lambda x:x
pprint.pprint({"abc":1,"def":2,"ghi":3})
, 당신의 출력은 광산에서 다를 수 있습니다 :
{'abc': 1, 'def': 2, 'ghi': 3}
{'abc': 1, 'ghi': 3, 'def': 2}
import pprint
import contextlib
@contextlib.contextmanager
def pprint_nosort():
orig,pprint._sorted = pprint._sorted, lambda x:x
try:
yield
finally:
pprint._sorted = orig
# For times when you don't want sorted output
with pprint_nosort():
pprint.pprint({"abc":1,"def":2,"ghi":3})
# For times when you do want sorted output
pprint.pprint({"abc":1,"def":2,"ghi":3})
[문서] (https://docs.python.org/2/library/pprint.html)에서 2.5 * "사전은 디스플레이가 계산되기 전에 키별로 정렬됩니다"* - 터닝 옵션이 없습니다 이거 벗었 어. – jonrsharpe
* 왜 * 정렬을 해제 하시겠습니까? 사전 요소가 예상 한 순서대로 정렬되지 않으면 운이 좋지 않습니다. 사전은 순서가 지정되지 않습니다. –