gpt4 book ai didi

python: defaultdict 不适用于字符串格式

转载 作者:行者123 更新时间:2023-11-28 20:18:32 26 4
gpt4 key购买 nike

这很简单:

'foo {bar}'.format(**{'bar': 0})

这不起作用,产生一个 KeyError:

from collections import defaultdict
d = defaultdict(int)
'foo {bar}'.format(**d)

有没有办法在字符串格式中容纳 defaultdict

最佳答案

**解包产生 dict ,这就是为什么这不起作用。如果您运行的是 Python 3.2 或更高版本,则可以传递 defaultdict无需解包到 str.format_map 它的存在正是为了传递非 dict映射类型:

'foo {bar}'.format_map(d)

编辑:显然,至少在 Python 3.5 中,'foo {bar}'.format(**d)实际上确实适用于 defaultdict(int) , 和 d被修改(格式化后,reprdefaultdict(<class 'int'>, {'bar': 0}) ),所以在现代 Python 中它看起来像 format_map dict 的子类可能不需要.有趣。

关于python: defaultdict 不适用于字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36273488/

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