怎么能写在一行?

Den*_*gan 3 python django dictionary list-comprehension

我以前见过一些Python列表推导,但这可以在一行Python中完成吗?

errs = {}
for f in form:
    if f.errors:
        errs[f.auto_id] = f.errors
Run Code Online (Sandbox Code Playgroud)

Ste*_*eef 20

errs = dict((f.auto_id, f.errors) for f in form if f.errors)
Run Code Online (Sandbox Code Playgroud)


小智 9

Python 3.0将字典理解作为Steef提供的更短/更易读的形式:

errs = {f.auto_id: f.errors for f in form if f.errors}
Run Code Online (Sandbox Code Playgroud)