相关疑难解决方法(0)

如何使用小数范围()步长值?

有没有办法介于0和1之间0.1?

我以为我可以像下面这样做,但它失败了:

for i in range(0, 1, 0.1):
    print i
Run Code Online (Sandbox Code Playgroud)

相反,它说步骤参数不能为零,这是我没想到的.

python floating-point range

679
推荐指数
17
解决办法
70万
查看次数

自动简化/重构Python代码(例如for循环 - >列表理解)?

在Python中,我真的很喜欢使用列表理解时实现的简洁性.我喜欢简洁的列表理解:

myList = [1, 5, 11, 20, 30, 35] #input data
bigNumbers = [x for x in myList if x > 10]
Run Code Online (Sandbox Code Playgroud)

但是,我经常遇到更多冗长的实现,如下所示:

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])
Run Code Online (Sandbox Code Playgroud)

for loop只查看一个数据结构(例如myList[])时,通常会有一个简单的列表推导语句,它等同于循环.
考虑到这一点,是否有一个重构工具将详细的Python循环转换为简明的列表理解语句?


之前的 StackOverflow 问题已经询问有关将循环转换为列表理解的建议.但是,我还没有找到一个关于自动将循环转换为列表推导表达式的问题.


动机:有很多方法可以回答"代码清洁意味着什么?"这个问题.就个人而言,我发现使代码简洁并摆脱一些漏洞往往会使代码更清晰,更易读.当然,在"简洁代码"和"难以理解的单行代码"之间存在着一条线.尽管如此,我仍然觉得编写和使用简洁的代码令人满意.

python refactoring list-comprehension simplify automated-refactoring

4
推荐指数
1
解决办法
1573
查看次数