如何使用for循环将多个Python列表合并在一起



我正在写一个脚本,以便计算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)

最新更新