Python为循环做这个的方式

时间:2017-06-07 10:24:02

标签: python for-loop

我有以下代码:

for item in packages:
    if item["name"] == dependency_to_install:
        dependencies = item["requires"]
        for dependency in dependencies:
            get_dependency(packages, dependency, requirements)
        requirements.append(item["name"])

是否有一种python方式可以在一行代码中完成所有这些操作?

提前谢谢!

EDDITED:

或者这已经足够好了,我不需要寻找更好的,因为这是自我解释的?

1 个答案:

答案 0 :(得分:2)

它(可能是列表理解),但不要这样做!

我会附上可能相关的quote

  

美丽胜过丑陋   明确胜过隐含   简单比复杂更好   可读性计算

但是,如果您不在其他任何地方使用最多删除dependencies = item["requires"]

for item in packages:
    if item["name"] == dependency_to_install:
        for dependency in item["requires"]:
            get_dependency(packages, dependency, requirements)
        requirements.append(item["name"])

正如@ Stefan Pochmann建议的那样,您的命名也可以改进。您可能希望将item重命名为package