이 코드 블록은 반복되는 데이터 집합 숫자가 인 파일을 반복하고 각 집합에 대해 5 가지 정보를 추출합니다.이 파이썬 코드 블록을보다 효율적으로 리팩터링하는 방법
하지만 현재 인수 분해가 각 줄마다 각 키를 통해 을 반복하고 있기 때문에 가능한만큼 효율적이지 않다는 것을 알고 있습니다.
일부 파이썬 전문가가 더 효율적으로이 작업을 수행 할 수 있는지 궁금해 할 때 궁금합니다.
def parse_params(num_of_params,lines):
for line in lines:
for p in range(1,num_of_params + 1,1):
nam = "model.paramName "+str(p)+" "
par = "model.paramValue "+str(p)+" "
opt = "model.optimizeParam "+str(p)+" "
low = "model.paramLowerBound "+str(p)+" "
upp = "model.paramUpperBound "+str(p)+" "
keys = [nam,par,opt,low,upp]
for key in keys:
if key in line:
a,val = line.split(key)
if key == nam: names.append(val.rstrip())
if key == par: params.append(val.rstrip())
if key == opt: optimize.append(val.rstrip())
if key == upp: upper.append(val.rstrip())
if key == low: lower.append(val.rstrip())
print "Names = ",names
print "Params = ",params
print "Optimize = ",optimize
print "Upper = ",upper
print "Lower = ",lower
입력 데이터를 제공해 주시겠습니까? – adamse
더 효율적입니까? 당신은 평범하고 질서 정연 한 일기로 그것을 작성해야합니다. 복합 데이터를 단일 문자열에 저장하지 않고 작동하는 간단한 코드를 사용해보십시오. 종종 단순히 코드를 더 잘 표현하면 필요한 "최적화"가 모두 제공됩니다. – u0b34a0f6ae