开发者社区> 问答> 正文

这个Python语法有什么用

我是python新手,试图理解以下语法在做什么?

  def testMissingConfig(self):
        """ if config is missing, the config is valid """

        input_args = self.buildmock()

        validation_errors = [
            x
            for x in self.validator.validate(
                ValidatorArguments(input_args=input_args)
            )
            if x
        ]
        validation_keys = {x.key for x in validation_errors}
        self.assertEmpty(validation_keys)

特别是“ validation_errors”的数组初始化

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 14:23:04 514 0
2 条回答
写回答
取消 提交回答
  • 代码改变世界,我们改变代码

    这是python列表推导式的应用。

    2020-04-16 16:40:19
    赞同 展开评论 打赏
  • 这称为列表理解。在这里,您可以将分配,循环,功能全部组合在一个块中。

    列表理解的一大优点是,它们使开发人员可以编写更少的代码,而这些代码通常更易于理解。

    句法:

    [expression for item in list]
    

    例:

    number_list = [ x for x in range(20) if x % 2 == 0]
    print(number_list)
    

    在此,数字列表在0到20之间循环,并给出偶数0,2,4 ... 20。

    同样,在您的代码中,如果x存在,validation_errors将存储x(不为null)

    Lambda函数还可用于以更少的代码行创建和修改列表。

    参考:https : //www.programiz.com/python-programming/list-comprehension

    回答来源:stackoverflow

    2020-03-24 14:23:12
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载