처음부터 파이썬에서 얻은 관행 중 하나는 내가하려고 할 때 생성하는 수와 비교하여 생성하는 변수의 수를 줄이는 것입니다 파이썬에서 변수를 생성하거나 표현식을 사용하는 것이 더 낫다는 것을 이해하려고 시도합니다.
def idMissingFilings(dEFilings,indexFilings):
inBoth=set(indexFilings.keys()).intersection(dEFilings.keys())
missingFromDE=[]
for each in inBoth:
if len(dEFilings[each])<len(indexFilings[each]):
dEtemp=[]
for filing in dEFilings[each]:
#dateText=filing.split("\\")[-1].split('-')[0]
#year=dateText[0:5]
#month=dateText[5:7]
#day=dateText[7:]
#dETemp.append(year+"-"+month+"-"+day+"-"+filing[-2:])
dEtemp.append(filing.split('\\')[-1].split('-')[0][1:5]+"-"+filing.split('\\')[-1].split('-')[0][5:7]+"-"+filing.split('\\')[-1].split('-')[0][7:]+"-"+filing[-2:])
indexTemp=[]
for infiling in indexFilings[each]:
indexTemp.append(infiling.split('|')[3]+"-"+infiling[-6:-4])
tempMissing=set(indexTemp).difference(dEtemp)
for infiling in indexFilings[each]:
if infiling.split('|')[3]+"-"+infiling[-6:-4] in tempMissing:
missingFromDE.append(infiling)
return missingFromDE
지금 내가 선 dEtemp.append (ㅋ ㅋ ㅋ ㅋ ㅋ ㅋ 4 번 처리하고있는 문자열 중 하나를 분할 : SAS 또는 포트란
예를 들어
에서 같은 일이 여기에 내가 오늘 밤에 쓴 일부 코드)
filing.split('\\')
역사적으로 포트란이나 SAS에서 같은 것을 시도한다면 문자열을 한 번 잘라내어이 표현식에서 사용할 문자열의 각 부분에 변수를 할당했습니다.
나는 항상 값으로 해석하고 값을 사용하는 대신 표현을 사용하도록하고있다. 내가 이것을하는 유일한 이유는 다른 사람들의 코드를 모방하여 배우는 것이지만이 질문을하는 것이 내 마음의 뒤쪽에있다 - 왜 다른 사람이 더 나은지에 대한 이유있는 토론을 어디서 찾을 수 있는가
이 코드는 드라이브에있는 문서 세트와 해당 문서의 소스 목록을 비교하여 소스에있는 모든 소스가 드라이브에 표시되는지 확인합니다.
좋아요, 주석 처리 된 섹션은 훨씬 읽기 쉽고 어떻게 결정 했습니까? nosklos 답변에 응답하려면
어쨌든 나는 나쁜 습관을 배우고 강요하고 있다고 제안하고 있습니다. – PyNEwbie
나는 nosklo와 동의한다. 나는 변수의 수를 최소화하는 것이 파이썬이나 다른 어떤 것에서도 우수 사례라는 것을 결코 읽지 않았다. 그 흩어져있는 모든 스플릿() 통화는 저에게 두통을 안겨줍니다. 당신의 주석 처리 된 코드는 1 줄짜리 몬스터보다 훨씬 더 명확합니다. 게다가 여러 번 쓰는 것이 아니라'filing.split (...') 표현을 한 번만 평가하면 상당한 성능 저하를 초래할 수 있습니다. 'year, month, day = datetext.split ('/')'(날짜 필드가 '/'로 구분된다고 가정하고있다.) – PaulMcG
뭔가 존재하지 않는다. 중복 적으로 코드를 제거하는 법에 관한 규칙 책? –