鉴于前面的回答,我将完全改变我的问题。我正在生成元组列表,如下所示。你知道吗
for i in range(5):
TotalDistance = 0 # particle i starts moving from 0
TotalTime = 0 # particle i starts moving at time 0
driftpoints =[(0,0)]
while TotalDistance < 5.0:
time = random.uniform(0,1) # paritcle takes time to move to next position
distance = random.uniform(0,1) # particle moves by distance.
TotalTime = TotalTime + time
TotalDistance = TotalDistance + distance
position = (TotalTime, TotalDistance)
driftpoints.append(position)
下面给出了第一次迭代的示例列表。你知道吗
[(0, 0), (0.21724544874575513, 0.754467286127031), (0.25007307998158623, 1.118356895500405), (0.7047856454945854, 1.4755146942363875), (1.3710776008226833, 2.16401542582095), (1.9942383846177156, 2.9751487045440026), (2.707031044871571, 3.9578284975759295), (3.3278895170648877, 4.831285527860187), (4.000180863917544, 5.218308572399064)]
如果是单个列表,我可以按以下格式保存在csv文件中。你知道吗
Time, Position,
0, 0,
0.21724544874575513, 0.754467286127031,
0.25007307998158623, 1.118356895500405,
0.7047856454945854, 1.4755146942363875,
1.3710776008226833, 2.16401542582095,
1.9942383846177156, 2.9751487045440026,
2.707031044871571, 3.9578284975759295,
3.3278895170648877, 4.831285527860187,
4.000180863917544, 5.218308572399064
但我还有更多的迭代。我面临的问题是为下一个粒子添加列。如何在单个csv文件中为每个粒子保存5对列?请记住,由于时间和距离是随机数,因此列的长度可能会有很大差异。你知道吗
如果这个问题或类似的问题已经得到回答,请原谅我并重新引导我到解决方案。你知道吗
好的,我没有得到任何关于我的问题的回复,除了第一个,我编辑了我的问题,然后回复被删除了。你知道吗
不管怎样,我都是这样做的。你知道吗
前面代码后面的第一行将在每次迭代中创建的列表进行了转换,并添加了一个元组长列表
最后一个代码重新转换了创建的列表,以便每个迭代出现在下一组列中。与zip(*转置)不同,它不限于列的最短长度。你知道吗
最后,将FinalFile写入csv文件
相关问题 更多 >
编程相关推荐