我是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
这称为列表理解。在这里,您可以将分配,循环,功能全部组合在一个块中。
列表理解的一大优点是,它们使开发人员可以编写更少的代码,而这些代码通常更易于理解。
句法:
[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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。