修改传递给函数的列表切片

2023-12-10

是否可以将列表的切片传递到函数中并通过切片修改列表?

这似乎不起作用:

def foo(a_list):
  a_list[0]='abc'

x=[1,2,3,4]
foo(x[0:2])

我希望 x 现在是 x=['abc',2,3,4]


不。您所描述的意义上的“列表切片”只不过是一个新列表。当你这样做时x[0:2],结果列表不“知道”它是作为另一个列表的切片创建的。这只是一个新列表。

您可以做的就是传入切片对象本身,与列表分开:

def foo(a_list, a_slice):
  a_list[a_slice]='abc'

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

修改传递给函数的列表切片 的相关文章

随机推荐

  • 在跨平台 xamarin 项目中编写特定于平台的代码

    我尝试在跨平台 Xamarin 项目中使用 Xamarin Android 命名空间 当我现在构建 iOS 项目时 我收到通知 这个命名空间显然不存在于 iOS 中 我如何编写特定于平台的代码 在哪里使用特定于平台的库 我已经检查了 Mic
  • 使用循环算法从多个列表中选择数据的有效方法

    我需要通过使用循环算法选择数据 从多个列表中创建一个包含所有其他列表的值的结果列表 list1 val1 1 val1 2 list2 val2 1 val2 2 list3 val3 1 val3 2 rr choosing result
  • 如何对包含 12 小时 (AM/PM) 格式的值的 Pandas 时间序列进行排序

    我正在使用 pandas 处理 csv 文件中的一些数据 我需要对 DataFrame 中的数据进行排序df按列MEETING START TIME 只是对时间进行排序 日期由另一个字段处理 但我得到的结果是 MEETING START T
  • HikariCP 包装器(线程安全)

    我正在学习使用HikariCP 我是java新手 我找到了一个包装器 但我认为它不是线程安全的 单例的实例是线程安全的 但不是方法getConnection 班级是这样的 public class HikariCPWrapper priva
  • 为什么“模块”对象不可调用? [复制]

    这个问题在这里已经有答案了 可能的重复 类型错误 模块 对象不可调用 这是我第一次尝试 Python 只是想在沉寂 10 年之后重拾基本的编程知识 这对我来说是一种新语言 Python 基本思想是一个微型战斗引擎 它决定更好的打击 接下来是
  • Android AudioRecord 初始化延迟

    这是我正在处理的相关代码的示例 AudioRecord recorder setupAudio recorder startRecording 设置音频方法 public AudioRecord setupAudio AudioRecord
  • 如何使用jqPagination

    请帮助我 我不知道如何使用jq分页 http beneverard github com jqPagination 我希望每个页面都有其他内容 例如 第 1 页 内容是一个段落 第 2 页是其他段落 我不想单击显示 隐藏来显示内容 谢谢你
  • javascript window.onload 事件正确用法

    我有这个循环代码来减少 Javascript 中的 DOM 调用 并重用它们 aarr for var z 1 z lt 10 z c z 1 aarr c document getElementById a z 我已经证明 如果代码在 D
  • PHPcurl_setopt() CURLOPT_PROGRESSFUNCTION

    我看到在curl setopt 文档您可以设置回调函数来显示curl exec的进度 回调函数如何使用就不多说了 有人知道吗 我只想输出已下载到 STDOUT 的文件的百分比 谢谢 这就是回调在 C 中的样子 typedef int cur
  • UDP 打洞主机特定故障

    我编写了一个设置点对点链接的程序 该程序可以在以下位置找到 http basyl co uk code punch doc files Readme txt html 分为两部分 运行在公共主机上的服务器 以及所需对等链路每一端使用的客户端
  • 如何使用谷歌脚本将详细信息表复制到另一个电子表格

    情况 我有一个包含 10 个工作表的电子表格 有 15 个用户登录并修改它 我只想从其他电子表格中复制 6 张表格 需要的脚本函数 该脚本应该将工作表复制到另一个特定的电子表格中 1 来源 XXXXXX 我只想从源将 Sheets1 2 3
  • 如何以编程方式用 CoreData 行填充 NSArrayController?

    经过几个小时 几天的搜索和深入研究示例项目后 我得出的结论是我需要问一下 如果我绑定 assetView IKImageBrowserView 直接到 IB 实例NSArrayController一切都很好 void awakeFromNi
  • 在 Perl 中成功匹配正则表达式后,如何访问捕获的子字符串?

    我正在 Perl 中搜索一个字符串并将其存储在另一个标量变量中 我想打印这个标量变量 下面的代码似乎不起作用 我不确定出了什么问题以及正确的解决方法是什么 为什么程序中不存在它却打印 1 正在运行的数据 DATA 13 E 0 496 gt
  • 在 MySQL 中按某些列排序以及按 rand() 排序

    是否可以按某些列以及 RAND 对结果集进行排序 例如 SELECT a b c FROM table ORDER BY a DESC RAND LIMIT 0 10 谢谢 你正在做的事情是有效的 它将按降序排列结果a但随机化关系的顺序 但
  • java.library.path 中缺少文件

    在从 openni 编译演示时 我偶然发现了这个错误 Exception in thread main java lang UnsatisfiedLinkError no OpenNI jni in java library path at
  • BASH:搜索字符串并准确显示子字符串在其中出现的确切次数

    我已经搜索遍了 但仍然找不到这个简单的答案 我确信这很容易 如果您知道如何完成此操作 请提供帮助 样本 txt 是 AAAAA 我想找到组合 AAA 发生的确切时间 如果你只是使用例如 grep o AAA sample txt wc l
  • 如何将此方法作为扩展方法添加到我的类的属性中?

    我有一个方法 我想将此方法作为扩展方法添加到我的类的属性中 该方法给出一个表达式作为输入参数 方法如下 public static string GetPropertyName
  • 修改 Google App Engine 端点 (Android) 中的 HTTP 标头

    我想将自定义标头添加到发送到端点的 HTTP 包中 我读到我可以在 Endpoint 方法中访问原始 HTTP 数据 通过添加 HttpServletRequest 参数 我正在寻找的是一种解决方案 或黑客 来访问和修改 Android 客
  • C:strtok_r的正确用法

    如何使用 strtok r 而不是 strtok 来执行此操作 char pchE strtok NULL 现在我正在尝试使用strtok r正确 但有时我会遇到问题strtol 我有一个线程 同时 执行 10 次 char savedEn
  • 修改传递给函数的列表切片

    是否可以将列表的切片传递到函数中并通过切片修改列表 这似乎不起作用 def foo a list a list 0 abc x 1 2 3 4 foo x 0 2 我希望 x 现在是 x abc 2 3 4 不 您所描述的意义上的 列表切片