gpt4 book ai didi

python - 如何向使用生成器参数构造的 dict() 添加额外的键值对?

转载 作者:太空狗 更新时间:2023-10-29 20:41:03 24 4
gpt4 key购买 nike

可以使用生成器 ( PEP-289 ) 创建字典:

dict((h,h*2) for h in range(5))
#{0: 0, 1: 2, 2: 4, 3: 6, 4: 8}

在同一个 dict() 调用中添加一些额外的键值对在语法上是否可行?以下语法不正确但更好地解释了我的问题:

dict((h,h*2) for h in range(5), {'foo':'bar'})
#SyntaxError: Generator expression must be parenthesized if not sole argument

换句话说,是否可以在单个 dict() 调用中构建以下内容:

{0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 'foo': 'bar' }

最佳答案

构造函数:

dict(iterableOfKeyValuePairs, **dictOfKeyValuePairs)

例子:

>>> dict(((h,h*2) for h in range(5)), foo='foo', **{'bar':'bar'})
{0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 'foo': 'foo', 'bar': 'bar'}

(请注意,如果生成器表达式不是唯一参数,则需要用括号括起来。)

关于python - 如何向使用生成器参数构造的 dict() 添加额外的键值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390899/

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