在python中,并行迭代到迭代器的惯用方法是使用“zip”函数。在
Python 3.6.5 (default, Mar 31 2018, 19:45:04) [GCC] on linux
>>> it1 = range(0,5)
>>> it2 = range(3,10)
>>> for x1, x2 in zip(it1, it2): print('', x1, x2, sep='\t')
...
0 3
1 4
2 5
3 6
4 7
>>> it1 = range(0,5)
>>> it2 = range(3,10)
>>> [ 100*x1 + x2 for x1,x2 in zip(it1,it2) ]
[3, 104, 205, 306, 407]
但是,我不喜欢这里的模式,它将项的分配与压缩的iterable中的项的顺序分离:在更复杂的示例中,可能很容易产生错误,例如
^{pr2}$因此,我想知道是否有一种模式,允许类似于
^{3}$这样的错误会更加明显。在
对于列表理解,存在类似的语法,但是对应于itertools.product()
,而不是{
关于:
如果你的条目是长度相等的列表,你可以用pandasDataFrame来完成你想要的。在
使用
zip
,可以执行以下操作:然后得到
^{pr2}$或者,您可以将两个列表合并成
pd.DataFrame
,如下所示:(请注意,您仍然需要为每个列表多使用一个名称,但是该行确实在
l1
旁边有'l1'
,这与zip
的用法不同)。在现在,您可以使用
结果是一样的。在
相关问题 更多 >
编程相关推荐