저는 잠시 동안 저를 괴롭 혔고, 아직 답을 찾지 못했습니다. 대부분의 스크립트는 일부 파일을 읽고 값을 비교하여 목록이나 사전에 저장합니다. 그런 다음 출력 파일을 작성합니다. 필자가 항상하는 일은리스트를 반복하고 탭, 쉼표 또는 줄 바꿈으로 구분하여 출력에 단일 항목을 쓰는 것입니다. 내가 항상 궁금해하는 점은 목록의 마지막 항목이 인쇄 된 후에 나타나는 구분 기호를 어떻게 방지 할 수 있는지입니다. 내가 마지막 ","피하려면 어떻게해야목록 항목을 파이썬의 텍스트 파일에 작성하십시오.
a: 1, 2, 3,
b: 4, 5, 6,
c: 7, 8, 9,
:
이dict1 = {a: [1,2,3], b: [4,5,6], c: [7,8,9]}
for key in dict1:
outfile.write(key +": ")
for item in dict1[key]:
outfile.write(str(item) +", ")
outfile.write("\n")
출력은 다음과 같을 것이다 : 여기
은 예입니다? 어떤 표준 라이브러리 CSV 모듈을 사용하는 방법에 대한for key, value in dict1.iteritems():
outfile.write(key +": ")
outfile.write(', '.join([str(item) for item in value]))
outfile.write("\n")
이 방법이 효과적이지만 OP에 놀랄만한 것은 키 순서가 반드시 필요한 것은 아니라는 것입니다. 예를 들어 a, c, b를 얻습니다. (그러나 그들은 지정하지 않았습니다. 명확한 요구 사항) –
쿨, 고마워! 나는 새로운 것이 간단 할 것이다. :-) –
@JonClements 그 말 주셔서 감사합니다. 목록 이해력 때문에 또는 단순히 사전이 순서를 유지하지 않기 때문에 발생합니까? –