Автоматическое упрощение / рефакторинг кода Python (например, для циклов -> понимание списка)? [закрыто]
В Python мне очень нравится, насколько лаконичной может быть реализация при использовании списочного понимания. Я люблю делать краткий список понимания этого:
myList = [1, 5, 11, 20, 30, 35] #input data
bigNumbers = [x for x in myList if x > 10]
Тем не менее, я часто сталкиваюсь с более подробными реализациями, подобными этим:
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])
Когдаfor loop
просматривает только одну структуру данных (например,myList[]
), обычно есть простой оператор понимания списка, который эквивалентен циклу.
Имея это в виду, существует ли инструмент рефакторинга, который преобразует подробные циклы Python в краткие выражения понимания списка?
предыдущий Переполнение стека вопросов попросил совета по преобразованию циклов в понимание списка. Но я еще не нашел вопрос оавтоматически преобразование циклов в выражения понимания списка.
Мотивация: Есть множество способов ответить на вопрос "что означает, что код должен быть чистым?" Лично я нахожу, что создание краткого кода и избавление от некоторого пуха делает код чище и более читабельным. Естественно, в песке есть грань между «кратким кодом» и «непонятными однострочниками». Тем не менее, мне часто бывает приятно писать и работать с лаконичным кодом.