使用生成器表达式的简单解决方案From PEP 289 Generator Expressions

Rationale

Experience with list comprehensions has shown their widespread utility

throughout Python. However, many of the use cases do not need to have a full list created in memory. Instead, they only need to iterate over the elements one at a time.

因为你不需要保存中间结果

可能你有一个大的数据集

以及itertools标准库模块中的^{},因为您需要计算数据集中每对有趣的点的距离。在$ cat euclid.py

from scipy.spatial.distance import euclidean

from itertools import combinations

lines = ['HETATM 1 H10 XSHQ 0 10.139 2.231 0.091 1.00 0.00 H',

'HETATM 2 N1 XSHQ 0 9.641 1.386 -0.104 1.00 0.00 N',

'HETATM 3 H9 XSHQ 0 9.773 1.133 -1.063 1.00 0.00 H',

'HETATM 4 C1 XSHQ 0 8.245 1.531 0.230 1.00 0.00 H']

H_lines = (line for line in lines if line[-1]=='H')

H_lists = (line.split() for line in H_lines)

H_data = ((int(tok[1]), [float(x) for x in tok[5:8]]) for tok in H_lists)

H_dist = {(i[0], j[0]):euclidean(i[1], j[1])

for i, j in combinations(H_data, 2)}

for m, n in H_dist:

print('Distance between points %d and %d is %.6f'%(

m, n, H_dist[m, n]))

$ python3 euclid.py

Distance between points 1 and 3 is 1.634404

Distance between points 1 and 4 is 2.023995

Distance between points 3 and 4 is 2.040842

$

python xyz_python中xyz坐标的欧几里德距离相关推荐

  1. Python获取图像中像素点坐标

    在图片处理过程中,有时候我们想要确定图片中某一像素的坐标,可以通过下面方法得到.点击运行程序,用鼠标点击我们想要获取坐标的区域,即可获得其坐标.结束方式是,敲击键盘"q",回车,即 ...

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

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

  3. python 三维数据绘图_Python中三维坐标空间绘制的实现

    在三维空间绘制点,线,面 1.绘制点 用scatter()散点绘制三维坐标点from matplotlib import pyplot as plt from mpl_toolkits.mplot3d ...

  4. java gps 距离计算_Java教程之地图中计算两个GPS坐标点的距离

    原标题:Java教程之地图中计算两个GPS坐标点的距离 在日常开发中,我们难免要计算两个左边之间的距离,但是地图软件api的接口普遍要求我们必须要先将坐标点传递到他们服务器,然后计算出一个距离返还给我 ...

  5. python图像边缘检测_使用python获取图像中形状的轮廓(x,y)坐标

    我需要使用python获得下面图像的轮廓坐标(x,y)的矩阵.使用python获取图像中形状的轮廓(x,y)坐标 我尝试用OpenCV的精明探测器和发现的轮廓,但我得到了很多的轮廓,我不知道如何让一个 ...

  6. python获取小图在大图中的坐标和相似度

    python获取小图在大图中的坐标和相似度 模块安装:pip install aircv 大小两个图片:big.jpg,small.jpg 模块安装:pip install aircv 大小两个图片: ...

  7. 标题使用java计算三维空间中两点的欧几里德距离

    标题使用java计算三维空间中两点的欧几里德距离 public static double euclideanDistance(double[] point1, double[] point2) {d ...

  8. 编程实战(4)——python识别图像中的坐标点并保存坐标数据

    编程实战(4)--python识别图像中的坐标点并保存坐标数据 文章目录 编程实战(4)--python识别图像中的坐标点并保存坐标数据 综述 代码思路 库的安装 图片预处理 图像细化 图像二极化 提 ...

  9. python画三维坐标_Python中三维坐标空间绘制的实现

    在三维空间绘制点,线,面 1.绘制点 用scatter()散点绘制三维坐标点 from matplotlib import pyplot as plt from mpl_toolkits.mplot3 ...

最新文章

  1. 北京 10 年,难说再见!
  2. 我跟17位顶级游戏策划人学到的3个产品方法论
  3. Tomcat实现session的代码逻辑分析
  4. 计算机系统基础:程序与运算
  5. 读取/书写Java的XML格式properties文件
  6. 转:L298N的原理图以及程序实现
  7. 【随机森林】深入浅出讲解随机森林算法
  8. c语言逻辑运算符的作用,C语言逻辑运算符知识整理
  9. 【快速迭代】【原型开发】
  10. 开头的单词_学Z字母本义和引申义,初高中Z开头的单词几分钟全部轻松记忆!...
  11. 虚幻引擎4——引擎下载及基本蓝图节点/数组节点详细介绍
  12. 荷兰版《口袋妖怪GO》:不找小精灵,找免费啤酒!
  13. 中科院数学所夏令营试卷
  14. 海康摄像头恢复出厂监控录像视频恢复
  15. 一次学会两种方式将 pyton 打成 exe
  16. 工业物联网平台有什么功能
  17. Kubernetes - 一键安装Kubernetes集群
  18. win7系统安装高版本node
  19. Nginx缓存、静态文件缓存配置
  20. 代理ARP(Proxy ARP)实验

热门文章

  1. Springboot 之 Hibernate自动建表(Mysql)
  2. MVC表示层框架——Velocity技术
  3. Object.keys() Object.values()
  4. 使用编辑工具快速创建实体对象的方法
  5. POJ1207-The 3n + 1 problem
  6. Django Rest Framework -解析器
  7. ubuntu 软件包降级
  8. Java:JDK安装
  9. HDU 3397 线段树 双懒惰标记
  10. IOS-UITextField类