django 如何使用Map函数而不是循环Python

x8diyxa7  于 2023-03-13  发布在  Go
关注(0)|答案(1)|浏览(109)

我在django项目的工作。我想避免使用循环,因为在文件中的一些行上传。
对于循环,我有这样的代码(它可以很好地处理小文件):

my_list = []
for ligne in my_json:
    network = Network(
        x1=ligne["x1"],
        x2=ligne.get("x2", None),
        x3=ligne.get("x3", None),
    )
    my_list.append(network)

我尝试使用python map函数,例如:

my_map = map(
    lambda x: (x["x1"],
        x.get("x2"),
        x.get("x3")), my_json)
list(my_map)

我如何使用Map实现这一点

zbq4xfa0

zbq4xfa01#

使用列表解析:

my_list = [
    Network(
        x1=ligne["x1"],
        x2=ligne.get("x2", None),
        x3=ligne.get("x3", None),
    ) for ligne in my_json
]

从技术上讲,你可以用map来实现这一点,但它并没有更高效,而且也不那么习惯。

my_list = list(map(
    lambda ligne: Network(
        x1=ligne["x1"],
        x2=ligne.get("x2", None),
        x3=ligne.get("x3", None),
    ),
    my_json
))

相关问题