Pet*_*ete 25 python tuples list
我有一个日期时间列表,我想从中构建时间段.换句话说,[t0, t1, ... tn]
变成[(t0,t1),(t1,t2),...,(tn-1, tn)]
.我这样做了:
# start by sorting list of datetimes
mdtimes.sort()
# construct tuples which represent possible start and end dates
# left edges
dtg0 = [x for x in mdtimes]
dtg0.pop()
# right edges
dtg1 = [x for x in mdtimes]
dtg1.reverse()
dtg1.pop()
dtg1.sort()
dtsegs = zip(dtg0,dtg1)
Run Code Online (Sandbox Code Playgroud)
问题...
mdtimes
使用列表推导复制原始列表是一种好习惯吗?如果不是应该怎么做?构建这些元组的目的是为了在它们之间迭代和段使用的数据集tn-1
和tn
.这是一种合理的方法吗?即
datasegment = [x for x in bigdata if ( (x['datetime'] > tleft) and (x['datetime'] < tright))]
Run Code Online (Sandbox Code Playgroud)谢谢
Ign*_*ams 18
这两个list
和tuple
是有序的.
dtg0, dtg1 = itertools.tee(mdtimes)
next(dtg0)
dtsegs = zip(dtg0, dtg1)
Run Code Online (Sandbox Code Playgroud)
您可以实现相同的目标zip
:
>>> l = ["t0", "t1", "t2", "t3", "t4", "t5", "t6"]
>>> zip(l[::2], l[1::2])
[('t0', 't1'), ('t2', 't3'), ('t4', 't5')]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17193 次 |
最近记录: |