问题标签 [setdefault]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
84 浏览

python - 如何从列表列表中创建字典键?

字符串列表:

我正在尝试从上面的列表中创建一个 food_to_names 字典。这些美食在索引 3 中,有时是它们自己的迷你列表。餐厅名称位于索引 0。它们每四个索引重复一次。美食 - 3::4,名称 - 0::4。

我遇到的问题是从索引 3::4 中提取元素并将它们设为键。我认为问题来了,因为有时它们是字符串的迷你列表,有时它们只是一个字符串。这使得使用 defaultdict 对我来说很困难,但我对学习该功能很陌生。我看到其他一些答案包括 setdefault 之类的东西,但我不知道如何在这种特定情况下使用它。任何指导将不胜感激!

我想要这个输出:

我试过这个并得到 TypeError: unhashable type: 'list':

0 投票
1 回答
171 浏览

dictionary - Python 字典 setdefault() 方法用作递归函数的返回值

假设您想获得第 n 个斐波那契数。然后,一种可能性是使用递归函数

这工作得很好。我试图将其缩短为

但是当我可以用

,或者甚至使用 f(1,d),它进入无限循环,并重新启动内核。事实上,这种形式的任何功能,比如说

有同样的问题。当我尝试调试这个时,我看到 n 不断减小,通过值 1。我想我不明白这个方法的实现。我假设 setdefault 方法首先检查 key 是否在字典中并返回值,如果没有,则将默认值分配给 key 并返回默认值。我在这里缺少什么?(我使用 Python 3.9.1 和 Spyder 4.2.0)

0 投票
1 回答
73 浏览

python - 将值添加到 defaultdict 设置中断 128

一旦我的地址达到值 128,总是会出现问题,并且它会停止将新值放在嵌套字典的末尾。而是重新从头开始订购。为什么要这样做?

实时变量值

我循环的数据结构看起来像这样->

编辑:这是我提供输入的可运行示例。你可以直接运行这个例子(我用的是python 3.8.2)

结果最终是 -> {'standard fan definition1': {128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146、147、148、149、150、101、102、103、104、105、106、107、108、109、110、111、112、113、114、115、116、117、118、119、120、 121, 122, 123, 124, 125, 126, 127}}

为什么要这样做?这些数字应按顺序排列,例如它们最初位于 list_address_of_selected_fans 变量中。

EDIT2:这是显示问题的实时代码 https://repl.it/talk/share/adding-values-to-defaultdict-set-break-on-128/122013

0 投票
1 回答
28 浏览

python - 蟒蛇,字典。即使仅保存在不同的对象上,更改也会出现在主对象上?

即使仅保存在不同的对象上,更改也会出现在主对象上?

0 投票
1 回答
28 浏览

postgresql - 如何在 postgresql 中添加时间为 09.00 点的默认时间戳?

我正在尝试将默认时间表添加到我的查询中,并选择时间 09.00 点。列的类型是“日期”,我将其更改为“时间戳”,我的任务就是这样。我不知道现在该怎么办。我对此很陌生,并试图理解带有“时间戳”的查询。

这是我到目前为止所拥有的:

我不知道下一步该做什么。任何帮助都会得到帮助!