gpt4 book ai didi

python - 如果 Python dict 理解覆盖了键,则引发错误

转载 作者:IT老高 更新时间:2023-10-28 20:52:48 24 4
gpt4 key购买 nike

如果它会覆盖键,有没有办法让字典理解引发异常?

例如,我希望以下错误,因为键 'a' 有两个值:

>>> {k:v for k, v in ('a1', 'a2', 'b3')}
{'a': '2', 'b': '3'}

我意识到这可以通过 for 循环来完成。有没有办法在保持理解语法的同时做到这一点?

最佳答案

您可以使用带有辅助函数的生成器:

class DuplicateKeyError(ValueError): pass

def dict_no_dupl(it):
d = {}
for k, v in it:
if k in d: raise DuplicateKeyError(k)
d[k] = v
return d

dict_no_dupl((k, v) for k, v in ('a1', 'a2', 'b3'))

这确实添加了一个辅助函数,但保持了理解语法(合理地)完整。

关于python - 如果 Python dict 理解覆盖了键,则引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30238783/

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