比较python元组以查找在上一个和下一个元组中也可以找到的值

2024-10-02 16:22:57 发布

您现在位置:Python中文网/ 问答频道 /正文

a = [('08:57', 'Edinburgh', '12:08'), ('12:08', 'London', '12:50'), ('12:50', 'London', 14:44')]

所以我有一个时间列表(这些都是公车旅行),比如上面的“a”,每个元组都包含了这段路程的开始和停止时间以及一个站名。然而,它们有时也包含一些只是“在公共汽车站等”的腿。这些可以通过以下事实来识别:开始时间与前一航段的停止时间相同,而停止时间与下一航段的开始时间相同。我想确定这些然后删除它们。我想知道设置,但公共汽车站的命名搞砸了,然后我想知道发电机。在

所以一些粗俗的东西,比如:

^{pr2}$

可以,但它是naff,不允许我标识原始元组的索引位置以删除它。在

我真的很感激你能帮上忙。在


Tags: 列表时间命名标识发电机事实元组london
1条回答
网友
1楼 · 发布于 2024-10-02 16:22:57

您可以迭代所有相邻的三元组,并使用

filtered_a = [a[0]]
for x, y, z in zip(a, a[1:], a[2:]):
    if x[2] != y[0] or y[2] != z[0]:
        filtered_a.append(y)
filtered_a.append(a[-1])

(此代码假定a中至少有两个分支。)

相关问题 更多 >