python 修改方法内的字典

2024-01-12

是否可以在不将字典作为参数传递的情况下修改函数内字典的值。

我不想返回字典,而只想修改它的值。


这是可能的,但不一定是可取的,我无法想象为什么你不想传递或返回字典,如果你只是不想返回字典,但可以传递它,你可以修改它以反映在原始字典而不必返回它,例如:

dict = {'1':'one','2':'two'}
def foo(d):
   d['1'] = 'ONE'

print dict['1']  # prints 'one' original value
foo(dict)
print dict['1']  # prints 'ONE' ie, modification reflects in original value
                 # so no need to return it

但是,如果您出于某种原因绝对无法通过它,则可以使用全局字典,如下所示:

global dict                    # declare dictionary as global
dict = {'1':'one','2':'two'}   # give initial value to dict

def foo():

   global dict   # bind dict to the one in global scope
   dict['1'] = 'ONE'

print dict['1']  # prints 'one'
foo(dict)
print dict['1']  # prints 'ONE'

我建议使用第一个代码块中演示的第一种方法,但如果绝对必要,请随意使用第二种方法。 享受 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 修改方法内的字典 的相关文章

随机推荐

  • NAnt 自定义输出目录

    我是 NAnt 的新手 并且已经能够创建一个
  • 在特征中混合标量类型

    include
  • msgsnd() 线程和/或进程安全吗?

    如果两个 pthread 同时 调用 msgsnd 函数 将消息发布到同一个消息队列 会发生什么情况 如果两个进程执行相同的操作怎么办 它们是线程还是进程重要吗 对 Linux 2 6 15 2 5 特别感兴趣 1 SMP PREEMPT
  • 通过 W3C DOM 替换整个 HTML 文档还有哪些其他选项?

    我很好奇人们更换的经历entireAjax Web 应用程序中运行时的文档 这种情况很少见 但我发现在一些情况下应用程序需要重建整个页面并且一切存在于本地 无需另一个服务器往返 我可以轻松地将新文档准备为either一个新的 DOM 树或作
  • 从字符串中删除前缀[重复]

    这个问题在这里已经有答案了 我正在尝试以清晰的Python方式执行以下操作 def remove prefix str prefix return str lstrip prefix print remove prefix template
  • LISP:为什么mapcan 不接受我的列表作为参数?

    为了简化我的问题 为什么这有效 mapcan lambda l list 1 2 a b 这并不 mapcan lambda l 1 2 a b 我必须编写一个函数 使用映射函数在给定列表 L 的所有级别上替换列表 D 的所有元素中的一个元
  • 如果使用 pbr,如何将包版本加载到 __version__ 变量中?

    为了简化 python 打包 我尝试迁移到使用 pbr 尽管如此 我还是无法弄清楚如何将包的版本公开到 version 多变的 这非常重要 因为我确实有许多该软件包的用户依赖于该软件包的存在version多变的 人们应该能够做到 impor
  • 如何将 C/C++ 源代码与我的字符串“交错”(仅在函数内部的适当位置)?

    例如有源码 void func1 func3 if qqq func2 func4 应改为 void func1 MYMACRO func3 MYMACRO if qqq MYMACRO func2 MYMACRO MYMACRO func
  • 如何使用 Helm 从列表中迭代创建 pod?

    我正在尝试从 helm 中的 yaml 循环创建多个 pod 如果我跑步 debug dry run输出符合我的预期 但是当我实际部署到集群时 只存在循环的最后一次迭代 一些 yaml 给你 if Values componentTests
  • 回调值内的 Angular 2 函数不更新视图

    我已经创建了函数 在函数内部 我在回调响应后调用一个回调函数 我已经更新了字符串变量 但该字符串变量没有更新我的视图 import Component from angular2 core Component selector myview
  • JavaScript 可以从第三方域加载 XML 数据吗?

    JavaScript 可以从以下位置加载 RSS XML 提要吗Yahoo http finance yahoo com rss topstories 客户端JS是否允许访问第3方域 您可以使用我的博客文章中概述的技术雅虎查询语言不成文指南
  • IIS 中具有匿名身份验证的 FTP 网站需要用户名和密码

    我在 IIS 8 中有一个 FTP 网站 我想向公众 未经身份验证的访问者 公开该网站 该网站是使用以下设置进行配置的here http technet microsoft com en us library hh831655 aspx N
  • ViewModel - 在运行时观察 LiveData 时更改方法参数?

    我正在尝试弄清楚 MVVM 这对我来说非常新 并且我弄清楚了如何使用 Room 和 ViewModel 观察 LiveData 现在我面临一个问题 我有一个需要参数的 Room 查询 这就是我开始观察 MainActivity 中 onCr
  • 使用 CSS 控制
     中的制表符空间?                
                

    是否可以指定制表符空间占用多少像素等 pre 使用CSS 例如 假设我有一段代码出现在 pre 在网页上 function Image this Write function document write this ToString ret
  • 如何使用 MVC Azure AD 身份验证从 AD 获取角色?

    我设置了 MVC 4 应用程序 并添加了针对我们的 Azure AD 服务器的身份验证 如下所述 http msdn microsoft com en us library windowsazure dn151790 aspx http m
  • 如何创建真实的 .scn 文件?

    查看苹果示例 AR 应用程序 有许多看起来很逼真的物体 杯子 蜡烛等 然而 在 Xcode 上使用场景工具包编辑器时 很明显这仅允许您创建基本对象 我的问题是 什么软件 文件可以用来创建现实的scn物体 我确信有软件可以让您创建 3D 模型
  • Vue - 是否可以动态设置 html 元素的样式?

    简洁版本 In the data 在我的应用程序中 我定义了某些颜色 我想要html 元素的背景为这些颜色之一 基于switch陈述 长版 In the data 我有以下代码 data return item color1 color2
  • 使用 Shibboleth 进行单点登录

    我必须使用以下方法在我的 NET 3 5 项目中实现单点登录希博莱斯 详细要求是这样的 1 我使用 NET 3 5 开发了一个名为 abc com 的Web应用程序 2 有一些第三方应用程序将从 abc com 启动 3 如果我已经登录到
  • React 错误边界无法捕获错误

    我创建了我的反应应用程序vite在那里我有我的自定义反应错误边界组件从组件包装 事情是它无法捕获错误 我调试我的错误组件 但它无法接收任何值getDerivedStateFromError not componentDidCatch 这是我
  • python 修改方法内的字典

    是否可以在不将字典作为参数传递的情况下修改函数内字典的值 我不想返回字典 而只想修改它的值 这是可能的 但不一定是可取的 我无法想象为什么你不想传递或返回字典 如果你只是不想返回字典 但可以传递它 你可以修改它以反映在原始字典而不必返回它