用法:
class ast.ListComp(elt, generators)
class ast.SetComp(elt, generators)
class ast.GeneratorExp(elt, generators)
class ast.DictComp(key, value, generators)
列表和集合推导、生成器表达式和字典推导。
elt
(或key
和value
)是一个单个节点,表示将为每个项目评估的部分。generators
是comprehension
节点的列表。>>> print(ast.dump(ast.parse('[x for x in numbers]', mode='eval'), indent=4)) Expression( body=ListComp( elt=Name(id='x', ctx=Load()), generators=[ comprehension( target=Name(id='x', ctx=Store()), iter=Name(id='numbers', ctx=Load()), ifs=[], is_async=0)])) >>> print(ast.dump(ast.parse('{x: x**2 for x in numbers}', mode='eval'), indent=4)) Expression( body=DictComp( key=Name(id='x', ctx=Load()), value=BinOp( left=Name(id='x', ctx=Load()), op=Pow(), right=Constant(value=2)), generators=[ comprehension( target=Name(id='x', ctx=Store()), iter=Name(id='numbers', ctx=Load()), ifs=[], is_async=0)])) >>> print(ast.dump(ast.parse('{x for x in numbers}', mode='eval'), indent=4)) Expression( body=SetComp( elt=Name(id='x', ctx=Load()), generators=[ comprehension( target=Name(id='x', ctx=Store()), iter=Name(id='numbers', ctx=Load()), ifs=[], is_async=0)]))
相关用法
- Python ast.List用法及代码示例
- Python ast.Lambda用法及代码示例
- Python ast.Load用法及代码示例
- Python ast.MatchClass用法及代码示例
- Python ast.IfExp用法及代码示例
- Python ast.Return用法及代码示例
- Python ast.Subscript用法及代码示例
- Python ast.alias用法及代码示例
- Python ast.Slice用法及代码示例
- Python ast.NamedExpr用法及代码示例
- Python ast.MatchAs用法及代码示例
- Python ast.Try用法及代码示例
- Python ast.MatchValue用法及代码示例
- Python ast.Assert用法及代码示例
- Python ast.Break用法及代码示例
- Python ast.Set用法及代码示例
- Python ast.MatchStar用法及代码示例
- Python ast.Expr用法及代码示例
- Python ast.Attribute用法及代码示例
- Python ast.ImportFrom用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 ast.ListComp。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。