微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在python中将项目从一个列表中减去另一个usinp zip函数

如何解决如何在python中将项目从一个列表中减去另一个usinp zip函数

伙计们,我有以下代码

def disFn(a,b):
    return[[abs(m-n) for o,p in zip(m,n)] for m,n in zip(a[1],b[1])]

但它不起作用..我需要做的是让下面列表中的ech元组返回元组中每个值之间的差异,例如......我想得到以下元组

( abs(0.0  - 8.708170812),abs(8.708170812 - 0.0),abs(4.088197921 - 10.518235207),abs(11.366319879999999 - 7.668395996),abs(12.638763287 - 10.522399903),abs(11.078233943 - 7.302185059),abs(10.025102839 - 6.417022705),abs(8.415467337 - 6.146172005),abs(8.194840093 - 10.448354985),abs(13.455056175000001 -5.149291993)),data = [('highway_bost174',[0.0,8.708170812,4.088197921,11.366319879999999,12.638763287,11.078233943,10.025102839,8.415467337,8.194840093,13.455056175000001]),('ibis_142',[8.708170812,0.0,10.518235207,7.668395996,10.522399903,7.302185059,6.417022705,6.146172005,10.448354985,5.149291993]),('street_par88',[4.088197921,11.135904053,11.472831274,10.691568116,9.663827636,10.659660884000001,9.392413013999999,12.586018896]),('opencountry_241',[11.366319879999999,13.314941407,2.754882813,3.998626709,9.028326501,12.145703089000001,8.675354002999999]),('waterfall23',[12.638763287,12.665527344000001,11.406341552,12.6048929,11.43774673,8.79888916]),('field26',[11.078233943,3.349212646,8.966176812,11.827669236000002,8.203674316]),('mountain_030',[10.025102839,8.78585096,11.994283939999999,7.7325744620000005]),('horse_081',[8.415467337,8.054160893999999,11.093641082000001]),('bison_052',[8.194840093,12.869559482]),('ibis_040',[13.455056175000001,5.149291993,12.586018896,8.675354002999999,8.79888916,8.203674316,7.7325744620000005,11.093641082000001,12.869559482,0.0])]

解决方法

如果我正确理解您的问题,您根本不需要使用 zip()。这应该给你你要求的结果:

tuple([abs(values[0] - values[1]) for key,values in data])
,
def disFn(a,b):
    return[abs(m-n) for m,n in zip(a[1],b[1])]


print(disFn(data[0],data[1]))

输出:

[8.708170812,8.708170812,6.430037286,3.697923883999999,2.1163633839999996,3.7760488840000006,3.6080801340000006,2.2692953320000004,2.253514892,8.305764182]

为什么嵌套列表理解,只有一层列表理解可以正常工作。

也许我不明白你的意思?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?