파이썬에서는 목록 이해력을 사용할 때 구현이 얼마나 간결한지를 정말로 즐깁니다.파이썬 코드를 자동으로 단순화/리팩터링 (예 : 루프 -> 목록 이해)?
myList = [1, 5, 11, 20, 30, 35] #input data
bigNumbers = [x for x in myList if x > 10]
그러나, 나는 종종 더 자세한 이와 같은 구현 발생 : 나는 간결 지능형리스트이이해야 할 사랑 for loop
가 하나 명의 데이터 구조 (예를 들어 myList[]
)를 통해 보이는 경우
myList = [1, 5, 11, 20, 30, 35] #input data
bigNumbers = []
for i in xrange(0, len(myList)):
if myList[i] > 10:
bigNumbers.append(myList[i])
을,이 일반적으로 루프에 해당하는 간단한 목록 이해 문장.
이 점을 염두에두고, 자세한 파이썬 루프를 간결한 목록 이해 문장으로 변환하는 리팩토링 도구가 있습니까?
PreviousStackOverflowquestions는 지능형리스트로 루프를 변환에 대한 조언을 요청했다. 그러나 나는 아직 에 대한 질문을 찾기 위해 자동으로을 목록 이해력 표현으로 변환해야한다.
동기 부여 : "깨끗로 코드를 의미 하는가 무엇을" 질문에 대답하는 방법에는 여러 가지가 있습니다 개인적으로 코드를 간결하게 만들고 보풀을 제거하는 것이 코드를보다 명확하고 읽기 쉽게 만들어주는 경향이 있습니다. 당연히 모래 속에 "간결한 코드"와 "이해할 수없는 한 줄짜리"사이의 선이 있습니다. 여전히 간결한 코드로 작성하고 작업하는 것이 만족 스럽다는 것을 종종 알게됩니다.
그게 내가하는 일이기도합니다. 불행히도, 나는 불필요하게 장황한 코드를 많이 보았다. 'xrange (0, len (myList)) '를'enumerate (myList)'로 대체하는 리팩토링 도구가 있습니까? 이 방법은 다른 사람의 코드를 정리하거나 지저분한 코드를 자습서에서 사용할 수있는 코드로 변환하려고 할 때 특히 유용합니다. – solvingPuzzles
@AshwiniChaudhary 아니면 그냥 for my elelist in :를 사용하십시오. – jimhark
'파이썬이란 무엇입니까? "범위 (len (seq))에있는 i의 경우 :"? No. "for obj in seq :"를 사용하십시오. – PaulMcG