나는 많은 양의 데이터를 출력하는 파이썬 스크립트를 가지고있다. 샘플은 다음과 같다. 4 개 필드의 첫 번째는 항상 두 글자, 한 자리에서 슬래시 하나 또는 두 자리python에서 정렬하는 화합물
구성Gi3/2 --.--.--.-- 0024.e89b.c10e Dell Inc.
Gi5/4 --.--.--.-- 0030.c1cd.f038 HEWLETTPACKARD
Gi4/3 --.--.--.-- 0020.ac00.6703 INTERFLEX DATENSYSTEME GMBH
Gi3/7 --.--.--.-- 0009.4392.34f2 Cisco Systems
Gi6/6 --.--.--.-- 001c.2333.bd5a Dell Inc
Gi3/16 --.--.--.-- 0009.7c92.7af2 Cisco Systems
Gi5/12 --.--.--.-- 0020.ac00.3fb0 INTERFLEX DATENSYSTEME GMBH
Gi4/5 --.--.--.-- 0009.4392.6db2 Cisco Systems
Gi4/6 --.--.--.-- 000b.cd39.c7c8 Hewlett Packard
Gi6/4 --.--.--.-- 0021.70d7.8d33 Dell Inc
Gi6/14 --.--.--.-- 0009.7c91.fa71 Cisco Systems
이 샘플 읽을 것이다 그래야, 첫 번째 필드에 올바르게 정렬하는 가장 좋은 방법이 될 것입니다 무엇
Gi3/2 --.--.--.-- 0024.e89b.c10e Dell Inc.
Gi3/7 --.--.--.-- 0009.4392.34f2 Cisco Systems
Gi3/16 --.--.--.-- 0009.7c92.7af2 Cisco Systems
Gi4/3 --.--.--.-- 0020.ac00.6703 INTERFLEX DATENSYSTEME GMBH
Gi4/5 --.--.--.-- 0009.4392.6db2 Cisco Systems
Gi4/6 --.--.--.-- 000b.cd39.c7c8 Hewlett Packard
Gi5/4 --.--.--.-- 0030.c1cd.f038 HEWLETT PACKARD
Gi5/12 --.--.--.-- 0020.ac00.3fb0 INTERFLEX DATENSYSTEME GMBH
Gi6/14 --.--.--.-- 0009.7c91.fa71 Cisco Systems
Gi6/4 --.--.--.-- 0021.70d7.8d33 Dell Inc
Gi6/6 --.--.--.-- 001c.2333.bd5a Dell Inc
내 노력이 매우 번거롭고 12가 5보다 앞섰습니다.
양해 해 주셔서 감사합니다.
p.s. 개인 정보 보호를 위해 필드 2의 IP 주소가 제거되면 각 행에 대해 고유 한 값이됩니다. –
스크립트에서 출력을 생성하는 경우이 문자열 형식의 데이터/이전/정렬을 정렬하는 것이 좋습니다. –
감사합니다. 출력을 목록으로 옮긴 다음 yairchu에서 제안한 함수로 전달했습니다. 내가 작성한 유일한 변경 사항은 list2 = sorted (list1, key = lineKey)라는 다른 목록을 작성한 다음 인쇄하는 것입니다. 매우 Pythonic하지만 내가 필요로하지 않습니다. 나는이 스크립트의 앞부분에서 이것을 할 수 있었음에 동의한다. –