Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表输出为列_Python_List - Fatal编程技术网

Python 将列表输出为列

Python 将列表输出为列,python,list,Python,List,我有3个大列表,我想输出为列[0][0][0],然后向下。我目前编写的适用于较小列表的代码如下: f=open("Clustered_energies.txt", "w") for i in range(0, len(frame_position)): print >> f, frame_position[i],energy[i],cell_volume[i] f.close() 这给了我一个列表索引超出范围的错误。我猜我需要使用列表理解,我尝试了以下方法: print [(i,e

我有3个大列表,我想输出为列[0][0][0],然后向下。我目前编写的适用于较小列表的代码如下:

f=open("Clustered_energies.txt", "w")
for i in range(0, len(frame_position)):
print >> f, frame_position[i],energy[i],cell_volume[i]
f.close()
这给了我一个列表索引超出范围的错误。我猜我需要使用列表理解,我尝试了以下方法:

print [(i,e,c) for i in frame_position for e in energy for c in cell_volume]
但是它的输出会一次又一次地重复每个列表中的一个值,列表理解是一种方法吗?或者我的原始代码可以修复吗?

类似这样的东西

[[x,y,z] for x,y,z in zip(frame_position,energy,cell_volume)]
像这样的

[[x,y,z] for x,y,z in zip(frame_position,energy,cell_volume)]
我的第一个想法是使用,但它停在最短的列表上,因此我将使用它,在Python3中称为,以供将来参考:

import itertools
for i, e, c in itertools.izip_longest(frame_position, energy, cell_volume, fillvalue=" "):
    print i, e, c
我的第一个想法是使用,但它停在最短的列表上,因此我将使用它,在Python3中称为,以供将来参考:

import itertools
for i, e, c in itertools.izip_longest(frame_position, energy, cell_volume, fillvalue=" "):
    print i, e, c

我想说的是,你的列表中有一个比lenframe_位置小。确保所有3个列表长度都匹配,或者使用for循环中的最小值,并接受某些结束项将被忽略。我想说的是,其中一个列表小于lenframe_位置。确保所有3个列表长度都匹配,或者使用for循环中的最小值,并接受某些结束项将被忽略。这肯定是一种方法,但如果您想修复初始解决方案,可能函数构造不是您的难题,您可以这样做:对于范围0中的i,minlenframe_位置,lenenergy,lencell_卷。这很好,我的目标是,但我如何才能将输出返回到列中?返回列表中的每个列表都是一列:col1,col2,col3=[x,y,z]在zipframe_位置,能量,cell_卷中的x,y,z]是的,我看到了,但它看起来像[1,-142.430591350.42033525],[14,-140.575693,353.514272],[17, -140.52751, 353.754234]然而,在它看起来像是1142.430591350.42033525和下面的其他值之前,如果你只想打印你可以做的值:对于zipframe_位置的x,y,z,能量,单元体积:打印x,y,z这肯定是一种方法,但是如果你想修复初始解决方案,可能函数构造不是你的难题,你可以做:对于范围为0的i,minlenframe_position,lenenergy,lencell_volume。这很好,我的目标是,但如何将输出返回到列中?返回列表中的每个列表都是一列:col1,col2,col3=[[x,y,z]对于zipframe_position,energy,cell_volume中的x,y,z]是的,我看到了,但它看起来像[1,-142.430591,350.42033525],[14, -140.575693, 353.514272], [17, -140.52751, 353.754234]而在它看起来像1 142.430591 350.42033525和下面的其他值之前,如果你只想打印你可以做的值:对于zipframe_位置的x,y,z,能量,单元体积:打印x,y,z+1。这是正确的,如果想要的行为是有默认值,这是正确的方法。+1。这是正确的,如果想要的行为是有def奥尔特认为这是一条路要走。