用python中的列表替换元素

2023-12-14

在Python中,用另一个列表中的元素替换列表中的元素的最佳方法是什么?

例如,我有:

a = [ 1, 'replace_this', 4 ]

我想更换replace_this with [2, 3]。更换后必须是:

a = [ 1, 2, 3, 4 ]

Update

当然,可以用切片来做(很抱歉我没有在问题中写下它),但问题是你可能有多个replace_this列表中的值。在这种情况下,您需要在循环中进行替换,这变得不是最佳的。

我认为使用它会更好itertools.chain,但我不确定。


您可以只使用切片:

>>> a = [ 1, 'replace_this', 4 ]
>>> a[1:2] = [2, 3]
>>> a
[1, 2, 3, 4]

正如 @mgilson 指出的那样 - 如果您不知道要替换的元素的位置,那么您可以使用a.index找到它......(见他的评论)

与不使用切片相关的更新

Using itertools.chain,确保replacements有可迭代对象:

from itertools import chain

replacements = {
    'replace_this': [2, 3],
    4: [7, 8, 9]
}

a = [ 1, 'replace_this', 4 ]
print list(chain.from_iterable(replacements.get(el, [el]) for el in a))
# [1, 2, 3, 7, 8, 9]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用python中的列表替换元素 的相关文章

随机推荐

  • iframe 和父站点之间如何通信?

    iframe 中的网站不在同一个域中 但两者都是我的 我想在iframe和父站点 是否可以 对于不同的域 无法直接调用方法或访问 iframe 的内容文档 你必须使用跨文档消息传递 父级 gt iframe 例如在顶部窗口中 myIfram
  • Laravel 集团按月记录和总价

    您好 我正在尝试按月份对记录进行分组并对订单中的价格进行求和 我尝试过这样的事情 order Order select DB raw sum price as sums gt groupBy function date return Car
  • 带有 Tomcat 9 的 jakarta.servlet - 未找到问题 [重复]

    这个问题在这里已经有答案了 我有一个使用 eclipse 和 tomcat 9 服务器运行的应用程序 当我运行应用程序时 它会在浏览器中打开 index html 页面 但在索引页面内调用的 API 会出现 404 状态错误 我尝试了各种
  • 通过鼠标点击删除节点,networkX,python 2.7

    我用Python 2 7用networkX编写了一个程序 它绘制了一棵带有黑白节点的树 这是一个最小的例子 import networkx as nx import matplotlib pyplot as plt import numpy
  • 如何立即调用 C++ lambda?

    我继承的类的构造函数需要传入一个重要的对象 与此类似 MyFoo MyFoo SomeBase complexstuff return The complexstuff没有什么关系MyFoo 所以我不想将其传递进去 而不是编写某种返回的一次
  • 更改 HTML 文本框:覆盖而不是插入为用户类型

    我正在开发一项允许编辑文本的服务 为了在此过程中帮助用户 我想允许用户将文本字段设置为覆盖模式 就像在 Word 等中一样 如何将 HTML 文本框的行为更改为覆盖而不是插入文本当用户输入时 例如 如果文本框包含以下文本 This is a
  • 有什么方法可以根据类模板类型初始化此变量吗?

    我有课stats带有模板 这样就可以灵活使用 不过 我对模板很陌生 我认为它们的重点是使其在用户周围灵活 所以我觉得我做错了什么 因为我撞到了一堵小墙 include
  • SQL,关于连接的问题

    我在 sql 2012 中有两个表 名称和产品 其结构 name id int increment name1 nvarchar 50 prod id int increment products nvarchar 50 id name i
  • 如何在 Indy 10 中启用完美前向保密?

    我在 Delphi 2010 中使用 OpenSSL 1 0 2o 和 Indy 10 6 2 这是我到目前为止所做的 procedure TServerForm FormCreate Sender TObject var LEcdh PE
  • 对 WCF 行为扩展进行单元测试

    这真让我抓狂 我有一个扩展 如果出现错误 我们可以用它来更改请求的内容响应 基本上 如果一切正常 它会正常序列化为 JSON 但如果我们收到未处理的异常 我们会根据不同的对象进行序列化 我们需要围绕此进行单元测试 但我不知道如何编写它们 验
  • UITableView 自定义单元格图像在滚动后消失。

    我正在创建我的开放网格视图 我创建了一个自定义单元格 如下所示 我像这样处理填充它 UITableViewCell tableView UITableView tableView cellForRowAtIndexPath NSIndexP
  • android LoginButton.setFragment 中的 facebook 登录

    我的 LogginButton 有问题 LoginButton authButton LoginButton v findViewById R id authButton authButton setFragment this 我使用的片段
  • 从 $request_body 记录 POST 数据

    我的配置设置可以处理一堆 GET 请求 这些请求呈现的像素可以很好地处理分析和解析查询字符串以进行日志记录 使用额外的第三方数据流 我需要处理对给定 URL 的 POST 请求 该 URL 在其请求正文中具有预期可记录格式的 JSON 我不
  • 如何在 JavaScript 中从多维数组中删除空数组?

    我在从 Google Sheets 中的搜索应用程序的多维数组中删除空数组 对象时遇到问题 我在用getLastRow所以我以为我会避免这个问题 但不幸的是事实并非如此 我的数组如下所示 1 39080000912E11 RSSMA0040
  • 通过 std::bind 传递右值

    我想传递一个右值std bind到 C 0x 中采用右值引用的函数 我不知道该怎么做 例如 include
  • Java、传值、引用变量

    我在理解以下示例中 Java 的 按值传递 操作时遇到问题 public class Numbers static int s ccc 7 static int t ccc 7 public static void calculate in
  • Intel 在哪里记录了 ModR/M 字节中扩展寄存器 (R8-R15) 的编码?

    我用的是官方最新的 英特尔 64 和 IA 32 架构软件开发人员手册合并卷 1 2A 2B 2C 2D 3A 3B 3C 3D 和 4 作为了解x86 64 ISA的机器级编码的参考 第 2 卷第 2 1 3 节中提供的 ModR M 和
  • 从修订历史记录中删除特定文件

    我试图从修订历史记录中删除我无意提交的特定文件 有人可以提供一种方法来做到这一点吗 你需要使用svndumpfilter工具 该过程涉及转储您的存储库 过滤 使用svndumpfilter 你的转储文件 并将结果重新加载到新的存储库中 看本
  • 在哪里可以阅读访客信息

    UPDATE 这个问题暴露了过时的 最糟糕的方法visitors count每个人都应该避免这种情况 使用复杂的计数器 由于我没有找到令人满意的 足够简单 的解决方案 因此我想出了自己的解决方案 创建一个名为的空文件ip txt并在代码中的
  • 用python中的列表替换元素

    在Python中 用另一个列表中的元素替换列表中的元素的最佳方法是什么 例如 我有 a 1 replace this 4 我想更换replace this with 2 3 更换后必须是 a 1 2 3 4 Update 当然 可以用切片来