Database matplotlib变量中的数据列表
matplotlib中使用了两个变量,其中一个有测量数据,第二个是0到300秒的时间刻度。我需要做的是将它们列成一个垂直列表(两个在一起,彼此相邻),以查看某个测量发生的时间。使用zip()。两个列表中的较短者获胜,较长者不匹配的项目将被丢弃:Database matplotlib变量中的数据列表,database,python-2.7,datalist,Database,Python 2.7,Datalist,matplotlib中使用了两个变量,其中一个有测量数据,第二个是0到300秒的时间刻度。我需要做的是将它们列成一个垂直列表(两个在一起,彼此相邻),以查看某个测量发生的时间。使用zip()。两个列表中的较短者获胜,较长者不匹配的项目将被丢弃: l1 = ["1","2","3","4","5"] l2 = ["a","aa","aaa","aaaa","aaaa","discard","discard2"] l3 = zip(l1,l2) # relates same indexes in
l1 = ["1","2","3","4","5"]
l2 = ["a","aa","aaa","aaaa","aaaa","discard","discard2"]
l3 = zip(l1,l2) # relates same indexes in bot lists as tuple (l1[i],l2[i])
for tup in l3:
print(tup[0], " " , tup[1])
输出:
1 a
2 aa
3 aaa
4 aaaa
5 aaaa
“垂直列表”可能已经是我这里所说的l3
——它是一个包含两个元组的列表(在您的例子中:(时间,值)
)
保存到文件:
with open("demodata.txt","w") as f:
for tup in l3:
f.write(tup[0], " " , tup[1],"\n")
我们差不多完成了,但在使用它之后,我有了这样的东西:
(数组([5.74434295e-02,5.85697712e-02,5.9696961130E-02,…,2.99981979e+02,2.99983105e+02,2.99984231e+02]),'',数组([100,100,100,100.])
首先,这不是一个完整的列表,而是一些最初和最后的度量。第二,它们被打印成两行而不是一列。有什么想法吗?还是谢谢你给我一个好线索。@Hiddenguy numpy数组?Zip似乎压缩了两个1元素列表(),其中包含数组类型的每个1元素……这就是我的输出。我的输入是l3:print(tup[0],“”,tup[1])中的tup的l1=[cutoff1]l2=[BxTime]l3=zip(l2,l1)
删除截止点和BxTime周围的[]-它们已经是列表-您将一个列表放入另一个列表中list@Hiddenguy修改代码,如果编辑器不够智能,无法处理unix样式的行尾,请在windows上使用\r\n而不是\n