使用字典中的特定键构建列表(python)?

2024-03-29

我正在用 Python 实现 Dijkstra 搜索算法。在搜索结束时,我使用前驱图重建最短路径,从目标节点的前驱开始。例如:

path = []
path.append(destination)
previous = predecessor_map[destination]
while previous != origin:
    path.append(previous)
    previous = predecessor_map[previous]

有什么方法可以用更少的代码行来做到这一点(例如列表理解)?


我唯一的建议是消除轻微的代码重复:

path = []
previous = destination
while previous != origin:
    path.append(previous)
    previous = predecessor_map[previous]

除此之外,我认为您的代码实际上非常清晰,并且不太可能从任何缩短它的尝试中受益。

最后,值得注意的是,上面的方法也适用于destination == origin,而您的原始版本很可能没有(取决于具体如何predecessor_map已填充)。不知道这是否与您的用例相关。

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

使用字典中的特定键构建列表(python)? 的相关文章

  • 根据 pandas 中的条件交换列值

    我想按条件重新定位列 如果国家 地区是 日本 我需要将姓氏和名字反向重新定位 df pd DataFrame France Kylian Mbappe Japan Hiroyuki Tajima Japan Shiji Kagawa Eng
  • 为什么方法无法访问类变量?

    我试图理解Python中的变量作用域 除了我不明白为什么类变量不能从其方法访问的部分之外 大多数事情对我来说都很清楚 在下面的例子中mydef1 无法访问a 但如果a可以在全局范围 类定义之外 声明 class MyClass1 a 25
  • 蟒蛇 |如何将元素随机添加到列表中

    有没有一种方法可以将元素随机添加到列表中 内置函数 ex def random append lst a lst append b lst append c lst append d lst append e return print ls
  • 使用 Python 中的 IAM 角色访问 AWS API Gateway

    我有一个 AWS API 网关 我想使用它来保护其安全IAM 角色 http docs aws amazon com apigateway latest developerguide permissions html 我正在寻找一个包来帮助
  • 一起使用 Argparse 和 Json

    我是 Python 初学者 我想知道 Argparse 和 JSON 是否可以一起使用 说 我有变量p q r 我可以将它们添加到 argparse 中 parser add argument p param1 help x variabl
  • 在 Windows 上将 Word2vec 与 Tensorflow 结合使用

    In 本教程文件 https github com tensorflow models blob master tutorials embedding word2vec py L45通过 Tensorflow 找到以下行 第 45 行 来加
  • Python 相当于 Bit Twiddling Hacks 中的 C 代码?

    我有一个位计数方法 我正在尝试尽可能快地实现 我想尝试下面的算法位摆弄黑客 http graphics stanford edu seander bithacks html CountBitsSetParallel 但我不知道 C 什么是
  • Pandas,按最大返回值进行分组 AssertionError:

    熊猫有问题 我想听听你的意见 我有这个数据框 我需要在其中获取最大值 代码就在下面 df stack pd DataFrame 1 0 2016 0 NonResidential Hotel 98101 0 DOWNTOWN 47 6122
  • 从 python 中的缩进文本文件创建树/深度嵌套字典

    基本上 我想迭代一个文件并将每行的内容放入一个深层嵌套的字典中 其结构由每行开头的空格数量定义 本质上 目标是采取这样的事情 a b c d e 并将其变成这样的东西 a b c d e Or this apple colours red
  • Matplotlib 将颜色图 tab20 更改为三种颜色

    Matplotlib 有一些新的且非常方便的颜色图 选项卡颜色图 https matplotlib org examples color colormaps reference html 我错过的是生成像 tab20b 或 tab20c 这
  • Docker 日志中的 Python 异常标记为流:stdout

    我想解析和处理来自 docker 容器的所有错误 但当我期望 stderr 时 Python 异常标记为 stdout 举个简单的例子app py raise Exception 然后我在 docker 容器中运行这个文件 但在 var l
  • 向伪 shell (pty) 发出命令

    我尝试使用 subprocess popen os spawn 来运行进程 但似乎需要伪终端 import pty master slave pty openpty os write master ls l 应该发送 ls l 到从属终端
  • dask allocate() 或 apply() 中的变量列名

    我有适用于pandas 但我在将其转换为使用时遇到问题dask 有一个部分解决方案here https stackoverflow com questions 32363114 how do i change rows and column
  • Windows 与 Linux 文本文件读取

    问题是 我最近从 Windows 切换到 Ubuntu 我的一些用于分析数据文件的 python 脚本给了我错误 我不确定如何正确解决 我当前仪器的数据文件输出如下 Header 有关仪器等的各种信息 Data 状态 代码 温度 字段等 0
  • 在 python 查询参数中使用 %20 而不是 + 作为空格

    我使用 python requests 编写了以下 python 脚本 http requests readthedocs org en latest http requests readthedocs org en latest impo
  • scrapy python 请求未定义

    我在这里找到了答案 code for site in sites Link site xpath a href extract CompleteLink urlparse urljoin response url Link yield Re
  • 字母尺度和随机文本上的马尔可夫链

    我想使用 txt 文件中的一本书中的字母频率生成随机文本 以便每个新字符 string lowercase 取决于前一个 如何使用马尔可夫链来做到这一点 或者使用每个字母都有条件频率的 27 个数组更简单 我想使用来自的字母频率生成随机文本
  • 如何使用 FastAPI 在 HTMX 前端中使用 HX-Redirect?

    我试图在登录后在前端重定向 我像这样从我的 htmx 前端发出请求
  • 将数组从 .npy 文件读入 Fortran 90

    我使用 Python 以二维数组 例如 X 的形式生成一些初始数据 然后使用 Fortran 对它们进行一些计算 最初 当数组大小约为 10 000 x 10 000 时 np savetxt 在速度方面表现良好 但是一旦我开始增加数组的维
  • 从 Flask 中的 S3 返回 PDF

    我正在尝试在 Flask 应用程序的浏览器中返回 PDF 我使用 AWS S3 来存储文件 并使用 boto3 作为与 S3 交互的 SDK 到目前为止我的代码是 s3 boto3 resource s3 aws access key id

随机推荐

  • 总和大于给定值的子数组的数量

    给定一个数组N整数 正数和负数 找出连续的总和大于或等于的子数组K 也可以是正数或负数 I have managed to work out a naive O N2 solution is it possible to get bette
  • 正则表达式去除注释、多行注释和空行

    我想解析一个文件 我想使用 php 和 regex 来剥离 空白或空行 单行注释 多行注释 基本上我想删除任何包含的行 text 或多行注释 some text 如果可能 另一个正则表达式来检查该行是否为空 删除空行 那可能吗 有人可以向我
  • HTML5 WebSocket 与 hybi-17

    Update 我解决了解码问题 感谢pimvdb 解决方案如下 PHP len masks data decoded null len ord buffer 1 127 if len 126 masks substr buffer 4 4
  • 苹果推送通知,定期发出蜂鸣声

    我对 iOS 上的苹果推送通知负载有一个小但棘手的问题 据我所知 推送通知有效负载可以有声音 长度 可行吗 如何 PS 它是一个企业应用程序 不会部署在App Store上 提前致谢 是的 您可以这样实现 注册设备以发送推送通知 每 30
  • 如何将 Python/Pandas 数据插入规范化数据库

    假设我有一个 Pandas 数据框 其中包含以下记录 Time Action User Company User2 00 02 buy share msmith ACME tjones 00 03 sell share tjones Alp
  • 调用网络服务。需要缺失的链接

    有人可以填写下面代码中缺少的链接吗 第一种方式 Web服务接口文件是HappyService xml JaxWSProxyFactoryBean factory new JaxWsProxyFactoryBean factory getIn
  • 如何自动检测代理?

    对于我的一个项目 我制作了一个 QWebView 一切工作正常 但是当我在学校使用它时 我收到错误 因为代理未定义 我怎样才能像在 Firefox 和 IE 中那样自动检测代理 我在中找到了这个QNetworkProxyFactory ht
  • 更改标签栏项目图像和文本颜色 iOS

    这是我的标签栏 下图显示了正在运行的程序和选定的 新闻 项 很明显 条形色调的颜色工作得很好 正如我想要的 但tintColor只影响图像而不影响文本 另外 当选择一个项目时 如上所示 新闻 项目颜色变为蓝色 我该如何防止这种情况发生 我希
  • 不支持的操作:在 Web 上使用 dart io 时的_Namespace

    I am trying to use dart io to read and write file I am getting below exception Uncaught Error Unsupported operation Name
  • 在 PHP 中仅缓存页面的一部分

    是否可以只缓存 PHP 页面的特定部分 或者 PHP 脚本中特定代码段的输出 似乎当我尝试缓存特定页面时 它缓存了我不想要的整个页面 页面中的某些内容应该随着每次页面加载而更新 而其他内容 例如包含来自数据库的数据的下拉列表 只需要每小时左
  • Spring bean别名使用

    我知道bean别名在spring中意味着什么 但我想知道使用别名的用例 为什么有人想要使用别名而不是名称来引用 bean 提前致谢 我见过的用法如下 您有给定接口的两个实例 SomeBean 一个用于环境 A 一个用于环境 B 因此 您定义
  • 悬停时的黑白 CSS 背景

    我有一个 CSS 精灵 如下所示 HTML a href http www domain com estate a CSS estates background position 200px 0px width 96px height 90
  • 尝试使用地址栏或刷新页面访问时,Azure Web应用程序返回404

    我需要一些有关我的天蓝色应用程序的帮助 我有一个website使用 Azure 上托管的 ReactJS 但发生了一些奇怪的事情 我可以使用地址栏访问的唯一页面是 mydomain com 或 www mydomain com 如果我尝试访
  • 使段落文本换行到 div 内

    我读了这篇文章here https stackoverflow com questions 1587964 wrap text inside fixed div with css or javascript 我有一个简单的目标 我只想让我的
  • 从 C++ 中的数字输入动态创建矩阵

    我有一个控制台应用程序 我试图从数字输入创建一个二进制矩阵 如果想要创建一个 2x4 矩阵 我必须做两个输入 每一行一个 输入 控制台 将如下所示 第一个输入 1101 第二个输入 0111 然后我想创建一个如下所示的矩阵 1 1 0 1
  • 有哪些方法可以在数据库中存储有关匿名/来宾用户的信息?

    我们的应用程序具有在线商店等功能 通常会要求用户在完成销售之前注册 从而创建一个独特的customer ID正在进行中 当他们返回时 他们可以登录并从数据库中检索他们的联系方式和交易历史记录 我们现在正在探索在 匿名 或 访客 客户的情况下
  • C# 闭包堆分配发生在方法开始时

    我似乎遇到了 C 编译器的一些奇怪行为 考虑以下代码示例 static void Main string args Foo false 8 public static void Foo bool execute int x if execu
  • laravel 5.3 当页数 = 1 时的分页

    我有城市表 它有 7 个城市 我有一个视图页面来显示这些城市 每页 10 个城市 控制器 cities City orderBy id desc gt paginate 10 return view cities home compact
  • 在浏览器控制台中使用 Angularjs $http

    我在开发过程中在浏览器控制台中测试了 AngularJS 服务 以进行快速验证 我将服务注入控制台的方式如下所述这个问题 https stackoverflow com a 15529185 605840 or var inj angula
  • 使用字典中的特定键构建列表(python)?

    我正在用 Python 实现 Dijkstra 搜索算法 在搜索结束时 我使用前驱图重建最短路径 从目标节点的前驱开始 例如 path path append destination previous predecessor map des