Skip to content

reimplemented-container-builtin (PIE807)#

Derived from the flake8-pie linter.

Fix is sometimes available.

What it does#

Checks for lambdas that can be replaced with the list or dict builtins.

Why is this bad?#

Using container builtins are more succinct and idiomatic than wrapping the literal in a lambda.

Example#

from dataclasses import dataclass, field


@dataclass
class Foo:
    bar: list[int] = field(default_factory=lambda: [])

Use instead:

from dataclasses import dataclass, field


@dataclass
class Foo:
    bar: list[int] = field(default_factory=list)
    baz: dict[str, int] = field(default_factory=dict)

References#