这个问题已经有了答案:
a = types.SimpleNamespace() b = dict() [a.__setattr__(key, value) for key, value in b]
现在我想用 map : list(map(a.setattr, b.items())) ,但是 b.items() 是元组,而不是键和值。我知道蟒蛇有 the unpack syntax ,所以我很好奇是否有任何函数也可以解包序列以便在 地图 。
map
list(map(a.setattr, b.items()))
b.items()
地图
你可以用 itertools.starmap 将键值对序列映射到 a.setattr :
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 比简单的循环更具可读性。
list(map