1
221
你可以说
可能是最常见的用例:分组项(在未排序的数据中,否则使用
有时您需要确保在创建dict之后存在特定的键。
|
2
33
它非常适合在包装器中围绕接受关键字参数的函数调整参数。 |
3
17
例如,我需要一个字典来将字符串映射到唯一的int。
相反,我用了一个普通的口述:
请注意
如果有人有办法
|
4
13
正如大多数答案所说
如你所见,
既然提到了回忆录,一个更好的选择就是使用functools.lru\u缓存如果你考虑用记忆来增强一个函数的话。lru\u cache可以更好地处理递归函数的缓存需求。 |
5
10
|
6
8
正如穆罕默德所说,在某些情况下,您有时只希望设置一个默认值。一个很好的例子是数据结构,它首先被填充,然后被查询。 考虑一个trie。添加字时,如果需要子节点但不存在,则必须创建子节点以扩展trie。查询是否存在某个单词时,缺少的子节点表示该单词不存在,因此不应创建该单词。 defaultdict不能这样做。相反,必须使用带有get和setdefault方法的常规dict。 |
7
5
我要说的是
:碰巧,这是标准库中唯一的示例,它位于注释中。因此,仅仅一个案例还不足以证明
对象将其属性存储在
|
8
3
我改写了公认的答案,并使之更容易为新手所接受。
此外,我将这些方法分类为参考:
|
9
3
|
10
2
下面是setdefault的一些示例,以显示其有用性:
|
11
1
我经常使用setdefault当,得到这个,设置一个默认值(!!!)在字典里;有点常见操作系统环境词典:
值得注意的是,还可以使用生成的变量:
但这并没有违约前那么必要。 |
12
1
有时,您会根据对象的id保留对象的缓存dict,其中主实例位于缓存中,并且希望在缺少时设置缓存。
当您总是希望每个不同的id都保留一个实例时,无论每次如何获取obj,这都非常有用。例如,当对象属性在内存中得到更新,而保存到存储被推迟。 |
13
1
我偶然发现了一个非常重要的用例:
例如
解决方法是使用
|
14
0
大错特错! 扩展塔特尔的答案。对我来说,最好的用例是缓存机制。而不是:
消耗3行和2或3次查找,
|
15
0
http://stupidpythonideas.blogspot.com/2013/08/defaultdict-vs-setdefault.html
简言之,决策(在非性能关键型应用程序中)应基于您希望如何处理空键的查找(
即。
|
16
0
示例
|
17
0
除了建议之外,
下面是记录已排序列表的键/元素索引的代码示例:
|
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |