gpt4 book ai didi

python - 从字典键的子集创建命名元组

转载 作者:行者123 更新时间:2023-12-01 09:19:41 25 4
gpt4 key购买 nike

通过以下测试的最Pythonic方法是什么:

def test_named_tuple_from_map():
from collections import namedtuple
NT = namedtuple('nt', ['a', 'b', 'c'])
source = {'a': 1, 'b': 2, 'd': 4, 'c': 3}
new = NT(**source)
assert new == NT(a=1,b=2,c=3)

我想要这个的原因是这样我可以挑选出 dict 数据的子集并作为不可变数据传递。

最佳答案

您可以简单地使用 namedtuple 的属性 _fields 并相应地过滤字典:

def test_named_tuple_from_map():
from collections import namedtuple
NT = namedtuple('nt', ['a', 'b', 'c'])
source = {'a': 1, 'b': 2, 'd': 4, 'c': 3}

new = NT(**{k: v for k, v in source.items() if k in NT._fields})

assert new == NT(a=1, b=2, c=3)

关于python - 从字典键的子集创建命名元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50899076/

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