如何在 Python 中迭代坐标列表并计算它们之间的距离

2024-01-07

我有一个包含 20 个坐标(x 和 y 坐标)的列表。我可以计算任意两个坐标之间的距离,但我很难编写一个算法来迭代列表并计算第一个节点与每个其他节点之间的距离。例如,

ListOfCoordinates = [(1,2), (3,4), (5,6), (7,8), (9,10), (11,12)]

在这种情况下,我需要一个 for 循环来交互列表并计算第一个坐标和第二个坐标之间的距离、第一个坐标和第三个坐标之间的距离等。我需要一个算法来帮助我,然后我会将其转换为Python代码。谢谢

感谢大家的反馈。这很有帮助。


每当你需要一些面向组合的东西(“我需要第一和第二,然后第一和第三,然后......”)的机会就是itertools模块有你需要的。

from math import hypot

def distance(p1,p2):
    """Euclidean distance between two points."""
    x1,y1 = p1
    x2,y2 = p2
    return hypot(x2 - x1, y2 - y1)

from itertools import combinations

list_of_coords = [(1,2), (3,4), (5,6), (7,8), (9,10), (11,12)]

[distance(*combo) for combo in combinations(list_of_coords,2)]
Out[29]: 
[2.8284271247461903,
 5.656854249492381,
 8.48528137423857,
 11.313708498984761,
 14.142135623730951,
 2.8284271247461903,
 5.656854249492381,
 8.48528137423857,
 11.313708498984761,
 2.8284271247461903,
 5.656854249492381,
 8.48528137423857,
 2.8284271247461903,
 5.656854249492381,
 2.8284271247461903]

编辑:你的问题有点令人困惑。以防万一您只想将第一点与其他点进行比较:

from itertools import repeat

pts = [(1,2), (3,4), (5,6), (7,8), (9,10), (11,12)]

[distance(*pair) for pair in zip(repeat(pts[0]),pts[1:])]
Out[32]: 
[2.8284271247461903,
 5.656854249492381,
 8.48528137423857,
 11.313708498984761,
 14.142135623730951]

但通常在你关心的这类问题中all组合,所以我将把第一个答案留在那里。

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

如何在 Python 中迭代坐标列表并计算它们之间的距离 的相关文章

  • python future 和元组解包

    实现像使用 future 进行元组解包这样的事情的优雅 惯用的方法是什么 我有这样的代码 a b c f x y g a b z h y c 我想将其转换为使用期货 理想情况下我想写一些类似的东西 a b c ex submit f x y
  • 如何在序列化器创建方法中获取 URL Id?

    我有以下网址 url r member P
  • 在 Tensorflow tf.nn.nce_loss 中出现 TypeError:'Mul' Op 的输入 'y' 的类型为 float32,与参数 'x' 的 int32 类型不匹配

    我正在研究 Tensor Flow 中的 Bag of Words 实现 并得到了 类型错误 Mul Op 的输入 y 的类型为 float32 与参数 x 的 int32 类型不匹配 在 tf nn nce loss 中 我尝试查看 tf
  • if 语句未命中中的 continue 断点

    在下面的代码中 两者a and b是生成器函数的输出 并且可以评估为None或者有一个值 def testBehaviour self a None b 5 while True if not a or not b continue pri
  • 忽略 Mercurial hook 中的某些 Mercurial 命令

    我有一个像这样的善变钩子 hooks pretxncommit myhook python path to file myhook 代码如下所示 def myhook ui repo kwargs do some stuff 但在我的例子中
  • 如何创建一个语句来打印以特定单词开头的单词? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中打印从特定字母开始的单词 而不使用函数 而是使用方法或循环 1 我有一个字符串 想要打印以 m 开头的单词 S
  • 如何通过在 Python 3.x 上按键来启动和中断循环

    我有这段代码 当按下 P 键时会中断循环 但除非我按下非 P 键 否则循环不会工作 def main openGame while True purchase imageGrab if a sum gt 1200 fleaButton ti
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • Python urllib.request.urlopen:AttributeError:'bytes'对象没有属性'data'

    我正在使用 Python 3 并尝试连接到dstk 我收到错误urllib包裹 我对SO进行了很多研究 但找不到与这个问题类似的东西 api url self api base street2coordinates api body jso
  • 使用鼻子获取设置中当前测试的名称

    我目前正在使用鼻子编写一些功能测试 我正在测试的库操作目录结构 为了获得可重现的结果 我存储了一个测试目录结构的模板 并在执行测试之前创建该模板的副本 我在测试中执行此操作 setup功能 这确保了我在测试开始时始终具有明确定义的状态 现在
  • 如何从Python中的字符串中提取变量名称和值

    我有一根绳子 data var1 id 12345 name John White python中有没有办法将var1提取为python变量 更具体地说 我对字典变量感兴趣 这样我就可以获得变量的值 id和name python 这是由提供
  • Pandas 根据 diff 列形成簇

    我正在尝试使用 Pandas 根据表示时间 以秒为单位 的列中的差异来消除数据框中的一些接近重复项 例如 import pandas as pd numpy as np df pd DataFrame 1200 1201 1233 1555
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • python Soap zeep模块获取结果

    我从 SOAP API 得到如下结果 client zeep Client wsdl self wsdl transport transport auth header lb E authenticate self login res cl
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 使用 PyTorch 分布式 NCCL 连接失败

    我正在尝试使用 torch distributed 将 PyTorch 张量从一台机器发送到另一台机器 dist init process group 函数正常工作 但是 dist broadcast 函数中出现连接失败 这是我在节点 0
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐

  • iPython magic for Zipline 找不到数据包

    我有一个 Python 2 7 脚本 可以在命令提示符下正常运行 Zipline 使用 bundle myBundle加载自定义数据包myBundle我已经注册使用extension py zipline run f myAlgo py b
  • 如何使用 HttpWebRequest 发布数据?

    我有这个HttpWebRequest var request HttpWebRequest Create http example com api Phrase GetJDTO request ContentType application
  • 在GUI中删除表中的数据

    我有一个问题 当用户输入密钥时 如何删除 GUI 中 jTable 中的所有数据 谢谢 您可以设置一个新的空数据模型 TableModel newModel new DefaultTableModel jtable setModel new
  • Mahout 堆空间不足

    我正在使用 Mahout 在一组推文上运行 NaiveBayes 两个文件 一个 100 MB 一个 300 MB 我将 JAVA HEAP MAX 更改为 JAVA HEAP MAX Xmx2000m 之前是 1000 但即便如此 mah
  • 自动过滤 SQLAlchemy 查询的正确方法?

    我刚刚使用 sqlalchemy 从 CRM 应用程序中反思了一个相当令人讨厌的模式 所有表上都有一个已删除的列 我想自动过滤所有标记为已删除的实体和关系 这是我想出的 class CustomizableQuery Query An ov
  • 将阴影添加到视差遮挡贴图

    我已经通过实现视差遮挡贴图学习OpenGL https learnopengl com Advanced Lighting Parallax Mapping 现在我想添加自阴影 以便片段挤压在表面上投射阴影 我读过一些关于这个主题的论文 但
  • GitHub - 按作者列出提交

    有什么办法可以上GitHub http github com 在浏览器中列出单个作者所做的所有提交 都不是本地的 例如通过git log 也不通过 API 单击提交列表 提交历史记录 中的用户名只会进入该用户的个人资料页面 检查 GitHu
  • 使用 HashMap 作为表单支持 Bean Spring MVC + ThymeLeaf

    我是 Spring MVC 的新手 来自 Grails 是否可以使用 HashMap 作为表单支持 bean 在 Grails 中 人们可以从任何控制器操作访问名为 params 的对象 Params 只是一个映射 其中包含 POST 数据
  • 使用 VkSubpassDependency 与信号量?

    我正在关注这个 vulkan 教程 https vulkan tutorial com Drawing a triangle Drawing Rendering and presentation https vulkan tutorial
  • 如何从ubuntu中彻底删除cuda?

    我有ubuntu 18 04 并且意外安装了cuda 9 1来运行Tensorflow gpu 但似乎tensorflow gpu需要cuda 10 0 所以我想先通过执行删除cuda martin nlp server sudo apt
  • GIT:“被我们删除”的冲突有多危险?

    几天前 我在 master 的基础上创建了一个名为 new branch 的新分支 当我使用文件 file php 处理 new branch 时 他分支上的第二个开发人员删除了文件 file php 并将他的分支与 master 合并 现
  • Neo4j Python py2neo授权错误

    在 Windows 8 1 上安装 Neo4j 2 2 3 没什么特别的 通过 Neo4j 启动应用程序启动服务器 没什么特别的 开始使用 py2neo 如 Neo4j org 上的文档所示 遇到了我无法解释的授权错误 日志如下 特别说明
  • 使用 php/mysql 通过 IP 禁止

    我希望能够通过 IP 禁止用户 我的想法是在 BannedIPs 表中保留 IP 列表作为行 IP 列将是索引 为了根据表检查用户的 IP 我将为每个会话保留一个名为 SESSION IP 的会话变量 如果在任何请求中 SESSION IP
  • Python csv writer 是否始终使用 DOS 行尾字符?

    我意识到csvPython 中的库总是生成 DOS 行尾字符 即使我使用 wb 模式 即使我使用Linux import csv f open output txt wb writer csv writer f writer writero
  • 如何复制 YouTube 的应用导航逻辑

    我想在我的应用程序中实现导航逻辑 就像在 Youtube 应用程序中一样 BottomNavigationView Fragment 管理 我想要这个 因为这些片段很重 所以我希望它们被延迟初始化然后存储在backstack中 我觉得You
  • 使 DIV 最大高度等于“窗口高度 - 100px”

    有一个方法可以设置max height in 但是这里有什么方法可以设置 DIV max height 这样它就会比仅使用 CSS 的窗口高度小 100px 吗 它不能是固定布局 用户必须能够垂直滚动页面 但 DIV 始终应调整大小wind
  • Delphi XE6 - 如何使用户定义的组件图像显示在调色板上

    我正在从 2007 迁移到 XE6 并且有几个由我自己和第三方编写的用户定义组件 在delphi 2007中安装组件时 您只需将组件添加到库中 它就会自动找到同名的DCR并将其加载到dpk文件中 并将图像加载到调色板上 在delphi XE
  • 如何限制pytorch中的参数范围?

    所以通常在pytorch中 模型中的参数没有严格的限制 但是如果我希望它们保持在 0 1 范围内怎么办 有没有办法阻止参数更新超出该范围 一些生成对抗网络 其中一些要求判别器的参数在一定范围内 中使用的一个技巧是在每次梯度更新后限制值 例如
  • HTML 中的“href”值可在 Android 上的 YouTube 应用或市场 (Google Play) 中打开视频

    我正在制作一个显示 360 度视频的网页 但我最近注意到 Android 浏览器中不支持 360 度功能 因此视频无法正确显示 所以经过大量搜索后我发现最好的选择是尝试使用本开发人员教程中解释的 Android Intent 在 YouTu
  • 如何在 Python 中迭代坐标列表并计算它们之间的距离

    我有一个包含 20 个坐标 x 和 y 坐标 的列表 我可以计算任意两个坐标之间的距离 但我很难编写一个算法来迭代列表并计算第一个节点与每个其他节点之间的距离 例如 ListOfCoordinates 1 2 3 4 5 6 7 8 9 1