【发布时间】:2019-12-08 16:39:12
【问题描述】:
假设我正在编写一系列命令,并决定将其转换为 for 循环。例如说我有
print('Jane','Bennet')
print('Elizabeth','Bennet')
print('Mary','Bennet')
首先,我决定将它变成一个 for 循环:
for s in ['Jane','Elizabeth','Mary']:
print(s,'Bennet')
甚至可能是列表理解:
[print(s,'Bennet') for s in ['Jane','Elizabeth','Mary']]
是否有 Python IDE 可以自动在这些形式之间进行转换?或者也许有其他工具可以做到这一点?
【问题讨论】:
-
另一方面,这个列表理解将构建一个
None的列表。您应该使用推导来构建列表,而不是用于在内部调用的函数的副作用 - 在正常循环中更好地表达。 -
我相信你可以在大多数编辑器中找到一种方法来做这样的事情,尽管它可能需要脚本/插件/等。这真的有那么大的问题吗?
-
现有 IDE 的脚本或插件非常适合我的需求。
-
好的,显示的列表理解是一个不好的例子。更好的方法是将
[f('Jane','Bennet'), f('Elizabeth','Bennet'), f('Mary','Bennet')]转换为[f(s,'Bennet') for s in ['Jane','Elizabeth','Mary']]
标签: python ide abstraction code-duplication