gpt4 book ai didi

python - 有效使用Python map

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:58 25 4
gpt4 key购买 nike

我已经定义了如下所示的结构。基本上是一个名称值对

from collections import namedtuple
CP = namedtuple('Cell', ['attr', 'value'])

这适合一个更大的有序结构,如下所示

_structure = [CP('id', None), CP('name', None)]

然后我得到一系列结果,对应于 _struct 的三个实例

results = [(1,'foo'),(2,"bar"),(3,"zaz")]

如何将它们映射到以下内容:

final = [[CP('id', 1), CP('name', "foo")],
[CP('id', 2), CP('name', "bar")],
[CP('id', 3), CP('name', "zaz")],]

最佳答案

我会使用列表理解:

final = [[CP('id', ident), CP('name', name)] for (ident,name) in results]

但是您提到了map,您也可以使用它:

final = map(lambda (ident,name): [CP('id',ident),CP('name',name)], results)

(请注意,我没有命名 id 变量 id,因为它与 Python 中现有的全局函数冲突。)

在Python中,推导式/生成器通常比map更受青睐,因为它们更通用并且可以说更易读。诚然,map 相对缺乏通用性很大程度上是因为 Python 用于创建匿名函数的 lambda 构造与更多函数式语言中可用的构造相比相当有限,其中 map 和 friend 至高无上。

关于python - 有效使用Python map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21760175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com