Automatyczne upraszczanie / refaktoryzacja kodu Pythona (np. Dla pętli -> zrozumienie listy)? [Zamknięte]
W Pythonie bardzo podoba mi się, jak zwięzła może być implementacja przy użyciu rozumienia listy. Uwielbiam robić zwięzłe opisy na liście:
myList = [1, 5, 11, 20, 30, 35] #input data
bigNumbers = [x for x in myList if x > 10]
Często jednak spotykam się z bardziej szczegółowymi implementacjami, takimi jak ta:
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])
Kiedyfor loop
przegląda tylko jedną strukturę danych (np.myList[]
), zwykle istnieje prosta instrukcja rozumienia listy, która jest odpowiednikiem pętli.
Mając to na uwadze, czy istnieje narzędzie do refaktoryzacji, które przekształca pełne pętle Pythona w zwięzłe instrukcje rozumienia listy?
Poprzedni Przepełnienie stosu pytania poprosili o radę na temat przekształcania pętli w rozumienie listy. Ale nie znalazłem jeszcze pytania na tematautomatycznie konwertowanie pętli na wyrażenia listowe.
Motywacja: Istnieje wiele sposobów, aby odpowiedzieć na pytanie „co to znaczy, że kod jest czysty?” Osobiście uważam, że uczynienie kodu zwięzłym i pozbycie się niektórych puchów sprawia, że kod jest czystszy i bardziej czytelny. Naturalnie na piasku znajduje się linia między „zwięzłym kodem” a „niezrozumiałymi pojedynczymi liniami”. Mimo to pisanie i praca ze zwięzłym kodem często sprawia mi satysfakcję.