Python中有没有函数可以解包任何序列?

2024-09-27 07:30:00 发布

您现在位置:Python中文网/ 问答频道 /正文

a = types.SimpleNamespace()
b = dict()
[a.__setattr__(key, value) for key, value in b]

现在我想使用maplist(map(a.setattr, b.items())),但是b.items()的项是一个元组,而不是键和值。我知道Python有the unpack syntax,所以我很好奇是否有任何函数也可以解压序列,以便我可以在map中使用它。你知道吗


Tags: thekeyinmapforvalueitemsdict
2条回答

可以使用itertools.starmap将键值对序列映射到a.setattr

list(starmap(a.__setattr__, b.items()))

您可以使用itertools.starmap

In [46]: list(itertools.starmap(a.__setattr__, {'a': '1', 'b': '2'}.items()))
Out[46]: [None, None]

In [47]: a
Out[47]: namespace(a='1', b='2')

尽管我不认为列表压缩或list(map比这里的简单循环更易读。你知道吗

相关问题 更多 >

    热门问题