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

如何使用for循环将多个Python列表合并在一起,python,list,loops,for-loop,Python,List,Loops,For Loop,我写了一个脚本,用来计算一个X值和一系列其他值之间的所有欧几里德距离,得到一个浮点数,然后在列表中进行转换。问题是,我没有得到一个包含所有结果的列表,但是很多列表中只有一个元素,我的结果。 我目前的剧本是: single_mineral = {} for k in new_dict.keys(): single_mineral = new_dict[k] Zeff = single_mineral["Zeff_norm

我写了一个脚本,用来计算一个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.29205348037179407]

[0.23436642737374]

[0.3835446564476642]

[0.1161659492309205]

[0.21792958584034935]

而且它们之间并没有某种联系(所以我不能使用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)

您可以使用
list.extend(list)
或简单地
list+=list2
合并两个列表。然后,您可以使用
list.sort()
sorted(list)
对集合进行排序—您甚至不会获得很多列表。你唯一要做的就是把它们打印出来。打印某物与将其放入变量中不同。您应该在循环外部创建一个列表,该列表将保存所有内容,然后每次要添加内容时都将
.append()
添加到该列表中。您应该在循环之前创建
dst=[]
。在循环内部,您应该使用
dst.append(distance…)
在一个列表中获取所有值。循环后打印此列表。然后你会看到一个列表有很多值。问题是我不需要只合并两个列表,但是它们是多个列表,并且没有名称,所以我不能使用你建议我的属性。在这里,我发现了一个类似的问题(),唯一的解决方案似乎是一个循环,但我不明白怎么做。即使在循环外创建空列表,我也会得到一个语法错误:-(我不明白为什么…非常感谢你的帮助!我不确定,因为我总是获得“无效语法”…我做错了什么?什么
无效语法
?你没有创建最小的工作代码,所以我无法运行它并看到此错误。我有“打印(dst)”的语法无效。这很奇怪,不是吗?也许你忘记了一些
在前一行中,最好添加有问题的新代码,但不要更改前一行。或者在新的页面上创建新的问题-你将有更多的空间放置问题A,也许新的人会看到它。