【问题标题】:Why does using setdefault on a dictionary in python print it out?为什么在 python 中的字典上使用 setdefault 会打印出来?
【发布时间】:2021-05-07 20:03:11
【问题描述】:

我在 Windows 上,使用 PyCharm IDE 的终端通过 ssh 连接到一个 linux 服务器,在该服务器上我以交互方式使用 python。当我用值更新字典时,终端将值输出回给我:

>>> x={}
>>> x.setdefault("y",0)
0

我不知道为什么会这样。我以前从未注意到这种行为?我也尝试直接使用 Windows 10 终端进行 ssh,但同样的事情发生了,所以它不是 PyCharm 特有的。

我只是不希望每次尝试设置字典时它的视觉混乱都会向我抛出一个值。是什么让它做到这一点?这是我第一次通过 Windows 登录,所以我觉得这在某种程度上是罪魁祸首?

【问题讨论】:

标签: python linux windows dictionary


【解决方案1】:

胸腺嘧啶!

这是预期的行为,您可以在 documentation 中看到

设置默认值(键[,默认值])

如果键在字典中,则返回其值。如果没有,插入密钥 具有默认值并返回默认值。默认默认为无。

也许this也能帮到你

【讨论】:

  • 有没有办法设置默认值而不返回它?好像没找到
  • 将它分配给变量 c = x.setdefault("y", 0) 所以 c 是一个值得注意的变量。
  • 我编辑了我的答案,添加了以下链接:stackoverflow.com/questions/9139897/…
【解决方案2】:

它不是特定于 Windows 的。“setdefault”返回 key 的值,你也在交互模式下使用 python,你会得到返回的值。您可以将其分配给变量。

【讨论】:

    猜你喜欢
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 2019-10-02
    • 2015-12-08
    • 2012-08-16
    相关资源
    最近更新 更多