问题标签 [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 投票
1 回答
680 浏览

java - Java 中的语言环境 setDefault() 风险

我有一个可以在英语和德语之间切换语言的应用程序。当使用德语时,我希望货币显示会自动转换为德语格式。因此,在我的程序中,我必须检查语言环境,然后根据所选语言转换货币。我选择使用 locale.setDefault() 但根据我发现的以下声明,我不确定这是否会有任何风险。有人可以为此提供建议吗?

声明:“由于更改默认语言环境可能会影响许多不同的功能区域,因此只有在调用者准备重新初始化在同一 Java 虚拟机中运行的对语言环境敏感的代码时才应使用此方法。”

谢谢。

0 投票
1 回答
2167 浏览

python - python setdefault(key,set())).update(... 返回无

我遇到了 setdefault 问题,并且 union 没有像我期望的那样工作。我的代码如下所示:

打印输出如下所示:

如果我用下面的两行代替设置 k_rad:

我的输出如下所示:

如果我理解 setdefault,(显然我不理解)输出应该是相同的,对吧?我错过了什么?为什么我dict.setupdate(key,set()).update(set(...))返回无?


如下所述,问题在于更新返回无。我真的不明白 update 和 setdefault 如何一起工作。由于 setdefault 将 dict 设置为默认值,如果我们正在创建一个新的 dict 元素并返回散列并更新我不需要分配的元素。我真正需要的是:

感谢您的帮助!

0 投票
1 回答
534 浏览

python - 为什么 setdefault 在设置键时评估默认值?

为了说明问题,我创建了一个简单的示例:

我希望一旦设置了缓存,将永远不会再次调用函数 get_person_age ,但这不是真的:

函数被一次又一次地调用。怎么了?

0 投票
2 回答
197 浏览

java - 使用带有对话框的“setDefaultCloseOperation”退出应用程序

我有类的代码MainFrame,并且this是一个大型机对象。所以这是我的问题。当我这样做时this.setDefaultCloseOperation(DISPOSE_ON_CLOSE),它会关闭对话框,但不会关闭应用程序。我知道我应该使用EXIT_ON_CLOSE,但这仅适用于 a JFrame,而不适用于MainFrame对象。我尝试过使用 解决方法System.exit(0),但它们要么在错误的时间退出,要么一起失败。无论如何我可以访问框架角落的“X”按钮,并设置它以便在按下它时执行某个动作?

0 投票
2 回答
4179 浏览

python - setdefault() 不接受关键字参数

我有以下代码片段:

然而,Python 返回

我不确定为什么。有没有人有任何想法?

0 投票
1 回答
1219 浏览

python - 与 Python 的 setdefault 等效的 C++(STL 映射)方法

所以很可能这个问题已经被问过了。没找到。

每次我定义一个std::map并想向它插入一些值时,我都会使用这段代码:

让我烦恼的是 3 行:

Python 提供了一个非常有用的 dict 函数,称为:setdefault,它本质上将这 3 行合并为一个漂亮的行。假设我想用 C++ 编写它,它将是:

问题

  1. 是否C++提供这样的功能?
  2. 如果不是,是否每个人都一直写这 3 行?
0 投票
0 回答
432 浏览

python - Python-dict setdefault - 关于仅将其用于设置

在使用 setdefault (vs. defaultdict) 时看到了setdefault vs. get和 here的讨论。

我的问题更多是关于编码风格。

同意我们不应该setdefault用于简单的 dict 设置:

但不是:

(使用可能已经存在的setdefault提示,我们不想覆盖它)kd

正如上面链接中提到的 - 我们还使用setdefaultwhen 想要获取对dict key's 的引用value(并使用它)

现在,这是我的情况:

我需要这样做几次,所以我想在一行中完成所有操作。因为我认为在一行中分配两次是不可读的:

我认为使用 setdefault 更好:

你怎么说 - 它也是用例setdefault吗?

0 投票
1 回答
764 浏览

matlab - Matlab:为 GUI 编辑文本设置默认值并在按钮回调中使用它们

我正在尝试使用默认值初始化 GUI(使用 GUIDE 构建),然后,如果用户不更改默认值,请在按钮回调触发的函数中使用这些值。

为此,在 中_CreateFcn,我首先将默认值存储在 中handles,然后使用 设置 GUI 的默认值set(hObject, ...),最后使用 更新 guidataguidata(hObject, handles);

如果用户更改了值,我将更新的值存储在_Callback函数内部的句柄中,读取值get(hObject, ...)并更新 guidataguidata(hObject, handles);

当按下按钮时,在按钮_Callback函数内部,我从handles.

发生的情况如下:

  • 如果用户改变 GUI 上的值而只是按下按钮,我从句柄中存储的变量中读出的不是变量的值,而是变量的实际句柄(例如27.0098876953125:)
  • 另一方面,如果用户在按下按钮之前确实更改了值,那么一切正常,我得到了实际的变量值。

我错过了什么?

更新

oro777评论之后,我添加了其余代码以便更好地分析。我也尝试过使用更新的(R2015b)版本的 MATLAB,结果是一样的,不同的是现在disp按钮回调函数内部显示了整个句柄结构,而不仅仅是 id:

我还注意到以下情况: - 如果我启动.fig文件一切正常 - 如果我按下文件run上的按钮.m,则会发生上述奇怪行为

这是代码:

0 投票
3 回答
4785 浏览

python - 为什么 setdefault 在字典理解中不起作用?

为什么 setdefault 不会在a字典理解中的每次出现都增加 1,但它会在循环中增加?这里发生了什么?

替代解决方案很棒。我最感兴趣的是了解为什么这不起作用。

带有 setdefault 的循环有效

使用 setdefault 的字典理解不起作用

更新

感谢您的回答,我想尝试为解决方案计时。

0 投票
2 回答
1124 浏览

python - dict.setdefault 将一个额外的(默认?)项目附加到值列表中

我正在使用字典对 CSV 文件中的数据进行分组,因此例如第一列和第二列是 dict 键,值将是第 3,4 列的元组列表。

我的代码片段是:

上面的代码产生了正确的结果,尽管我尝试使用csvDicData_.setdefault(key,[value]).append(value)并且由于某种我不明白的原因,len(csvDicData_[('field1x','field2x')] ))总是有一个预期的项目(值(0,0)。

为什么会出现这种行为(就像 CSV 文件中每个键的第一行自动将元组 (0,0) 添加到字典/键中一样)。