의 이용 항목() 파이썬이 같은 함수 작성 때인쇄 순서 파이썬
def test(**argv):
for k,v in argv.items():
print k,v
및 이와 같은 함수를 사용
:test(x = 1, y=2, z=3)
인쇄물이있다 인쇄물의 결과가없는 이유?
궁금y 2
x 1
z 3
x 1
y 2
z 3
여기에 어떤 도움이 필요합니까?
의 이용 항목() 파이썬이 같은 함수 작성 때인쇄 순서 파이썬
def test(**argv):
for k,v in argv.items():
print k,v
및 이와 같은 함수를 사용
:test(x = 1, y=2, z=3)
인쇄물이있다 인쇄물의 결과가없는 이유?
궁금y 2
x 1
z 3
x 1
y 2
z 3
여기에 어떤 도움이 필요합니까?
argv
을 인쇄하면 해당 사전임을 알 수 있습니다.
사전은 파이썬에서 순서가 지정되지 않습니다. 그것이 출력을 얻는 이유입니다.
테스트
def test(**argv):
print type(argv)
test()
>>> <type 'dict'>
사전 해시 테이블, 키의 순서는 보장되지 않습니다. 주문을 보존해야합니다. 즉, 요소 추가 순서가 유지되는 collections.OrderedDict
이 있습니다.
'** kwargs'가 OrderedDict를 사용할 수 있습니까? post-hoc'sort'가 필요하다고 생각합니다 – jonrsharpe
@jonrsharpe Correct. 키 값 쌍을 정렬 할 수 있지만 호출 방법에서 키워드 인수가 기록 된 순서는 검색 할 수 없습니다. – delnan
@jonrsharpe, 네, 정렬 된 사전이 키워드 인수로 전달되면 순서가 유지되지 않습니다. – volcano
가능한 복제본 [파이썬에서 kwargs를 반복하면서 순서를 결정하는 것은 무엇입니까?] (http://stackoverflow.com/questions/8977594/in-python-what-determines-the-order-while-iterating-through) -kwargs) – jonrsharpe
@ jonrsharpe 아아, 죄송합니다. 지금 어떻게해야합니까? – CSnerd
링크 된 질문을 읽고 거기에 답한 것에 동의하면 삭제하십시오. 그렇지 않으면 어떤 일이 발생할지 결정하기 위해 커뮤니티가 투표하기를 기다립니다. http://stackoverflow.com/help/duplicates를 참조하십시오. – jonrsharpe