3
a = [('08:57', 'Edinburgh', '12:08'), ('12:08', 'London', '12:50'), ('12:50', 'London', 14:44')]
所以我有次名单也发现(这是巴士旅程),如“A”以上的每个元组包含的启动和停止的腿的时间,一个电台名称。但是,它们有时还包含“在巴士站等待”腿的腿。这些可以通过以下事实来识别:开始时间与前一段的停止时间相同,并且停止时间与后一段的开始时间相同。我想识别这些然后删除它们。我想知道一些套件,但公共汽车站命名螺丝,然后我想知道发电机。比较蟒蛇元组找到值在前面和后面的元组
因此,一些原油,如:
gen = (item for item in a) #turn list into generator object
try:
while 1:
if gen.next()[2] == gen.next()[0] and gen.next()[0]:
print 'match'
except StopIteration:
print 'all done'
的工作,但它是蹩脚的,不允许我去识别原始元组的索引位置将其删除。
真的很感激这个方法。
的'zip'可以是如果你想避免复制列表,可以用任何[滚动窗口迭代器]替换(http://stackoverflow.com/questions/7113724/iterator-with-memory/7113802#7113802)。 – agf 2012-03-22 12:56:15
@agf:你说得对,在这里链接迭代器解决方案是绝对有用的,即使这里使用它太过分了。 – 2012-03-22 13:02:38