我的列表有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]

但通常在这类问题中你关心所有组合,所以我会留下第一个答案.

标签:python

python迭代计算_如何在Python中迭代坐标列表并计算它们之间的距离相关推荐

  1. python多项式回归_如何在Python中实现多项式回归模型

    python多项式回归 Let's start with an example. We want to predict the Price of a home based on the Area an ...

  2. python大括号_如何在python字符串中打印文字大括号字符并在其上使用.format?

    如何在python字符串中打印文字大括号字符并在其上使用.format? x = " \{ Hello \} {0} " print x.format(42) 给我:{Hello} ...

  3. spyder python 使用_如何在spyder中使用vpython?

    我试着用vpython,无论如何,但我失败了...在 首先,我在win8.1上安装了anacondapython2.7.10. 然后,我通过在命令行中输入以下命令来安装Vpython: conda安装 ...

  4. vscode怎么安装python库_如何在vscode中安装python库的方法步骤

    免费资源网 - https://freexyz.cn/ vscode安装python库 1.已经在vscode中装了python并配置好python运行环境. 检查是否正确配置好运行环境,按Windo ...

  5. python缓冲区_如何在Python中使用Google的协议缓冲区

    python缓冲区 When people who speak different languages get together and talk, they try to use a languag ...

  6. python物理模拟_如何在Python 游戏中模拟引力

    学习如何使用 Python 的 Pygame 模块编程电脑游戏,并开始操作引力. 真实的世界充满了运动和生活.物理学使得真实的生活如此忙碌和动态.物理学是物质在空间中运动的方式.既然一个电脑游戏世界没 ...

  7. python 边界_如何在python中获取图像的边界像素?

    获取边框像素: 掩模操作是获取图像边界像素的多种方法之一.代码如下:a= cv2.imread('cal1.jpg') bw = 20 //width of border required mask ...

  8. python标准化_如何在Python中规范化和标准化时间序列数据

    最低日温度 该数据集显示了一个强大的季节要素,并有一个很好的,细致的细节工作. 本教程假定数据集位于当前工作目录中,文件名为 " daily-minimum-temperatures-in- ...

  9. flask执行python脚本_如何在Flask中运行python脚本

    我有一个Flask脚本,可以创建网站并动态打印一些数据.-打印的数据应来自另一个python脚本. 我目前面临的问题是,如果我将执行python脚本的行放在执行Flask应用程序的行之前,它将运行Py ...

最新文章

  1. 水表读数自动识别,基于DB和CRNN的方法
  2. 仅4步,就可通过SQL进行分布式死锁的检测与消除
  3. MIT6.830 lab1 SimpleDb 实验报告
  4. Visual Studio 重新生成解决方案 无反映
  5. HDU1877 又一版 A+B【进制】
  6. c#位数不够0补充完_人教版四年级上册数学第六单元《除数是两位数的除法》
  7. SQL server 数据加密
  8. C#调用海康SDK播放视屏
  9. 酒水饮料类零售库存管理软件app,哪个简单好用?看看这10款
  10. Mac版Lync无法登陆问题(登录设置)
  11. 数据库课程设计基本框架(PHP+MySQL)
  12. 华为3Com总裁郑树生:我们最终要自立门户
  13. 2022电子科技大学软件工程860考研复试个人分享
  14. Conflicting order. Following module has been added:
  15. 解决:word表格,未完成一页就跳到下一页
  16. 2009成渝微型计算机处于空白,学海园大联考 2020届高三信息卷(二)文综答案
  17. autocad2014点击保存闪退_win10下autocad2014闪退怎么解决?-解决win10下autocad2014闪退的方法 - 河东软件园...
  18. 0x00000005 3.数据结构和算法 基础数据结构 字符串(上)
  19. 华为云服务器最新信息,云服务器拉新
  20. IUV“经世杯”option3X

热门文章

  1. 文本类控件 (TextView的介绍)
  2. 动态规划 最小编辑代价
  3. (1)Adapter适配器(ArrayAdapter、SimpleAdapter、BaseAdapter)
  4. 安装MySQL出现的this application
  5. 第五届合肥工业大学宣城校区程序设计大赛题解
  6. 【应用篇】Activiti外置表单实例demo(四)
  7. 数论(一)——素数,GCD,LCM
  8. Linux找头文件规则,linux 头文件、库文件查找顺序
  9. c语言相邻字符串字面量,C语言预处理#运算符的细节
  10. 华为怎么改输入法皮肤_搜狗输入法皮肤挑花眼?这次皮肤效果也能划着看了