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