我正在写一个脚本,以便计算dictionary中X值和许多其他值之间的所有欧氏距离,获得一个浮点值,然后在列表中转换。问题是,我没有得到一个包含所有结果的列表,但许多列表中只有一个元素,我的结果。我现在的脚本是:
single_mineral = {}
for k in new_dict.keys():
single_mineral = new_dict[k]
Zeff = single_mineral["Zeff_norm"]
rhoe = single_mineral["Rhoe_norm"]
eucl_Zeff= (calculated_Zeff_norm, Zeff)
eucl_rhoe= (calculated_rhoe_norm, rhoe)
dst= [(distance.euclidean(eucl_Zeff, eucl_rhoe))]
print(dst)
我得到了这样的东西:
[0.2920534800337179407]
[0.23436642937625374]
[0.383546564476642]
[0.11616594912309205]
[0.21792958584094935]
并且它们没有以某种方式链接(所以我不能使用intertools.chain(。
我想创建一个包含所有这些列表的列表(最终目标是升序……因此,我只需要一个列表(。我想这个解决方案是一个for循环,但我不知道该怎么做。我不知道它需要在哪里运行,也不知道如何添加我的结果,这些结果总是被称为"dst";?
求你了,帮帮我!提前非常感谢!
如果你想在一个列表中获取所有内容,那么你需要
# before loop
dst = []
# loop
for k in new_dict.keys():
# ... code ...
#dst.append( [distance.euclidean(eucl_Zeff, eucl_rhoe)] )
dst.append( distance.euclidean(eucl_Zeff, eucl_rhoe) )
# after loop
print(dst)