기존 목록 JRstrt의 내용을 기반으로 새 목록 p를 생성해야합니다. 기존의 목록입니다 : 새 목록을 만들기위한이 목록을 작성하는 더 좋은 방법이 있습니까
JRstrt = [1,1,0,0,1,0,1,1]
규칙은 다음과 같습니다
- JRstrt의 일의의 각 페이지에 일련 번호를 추가 할 첫 번째 패스에. 순서 카운터는 첫 번째 1은 1, 두 번째 1은 2 등으로 시작합니다. JRstrt의 각 0에 대해 0이 p에 추가됩니다.
- 두 번째 단계에서 JRstrt의 0은 계속해서 기존 카운터를 사용하여 새 목록에 순차 번호를 추가합니다.
여기 내 현재 코드입니다 :
p = []
count = 1
for ind in JRstrt:
if ind == 1:
p.append(count)
count += 1
else:
p.append(0)
for index, object in enumerate(p):
if p[index] == 0:
p[index] = count
count += 1
else:
pass
print p
이러한 접근 방식은 나에게 내가 필요로하는 결과를 제공하지만, 나는 그것이 약간 어설픈 생각합니다. 파이썬으로 멍청한 놈이기 때문에 나는 나의 접근 방식을 비판하고 싶다. 미리 감사드립니다.
예상 출력 [1, 2, 6, 7, 3, 8, 4, 5]
으로 대체하십시오. 게시물에 예제의 예상 결과를 게시 하시겠습니까? – inspectorG4dget