gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 18:52:43 26 4
gpt4 key购买 nike

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

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

所以有些粗糙,比如:

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'

确实有效,但它很糟糕,不允许我识别原始元组的索引位置以将其删除。

非常希望有一种方法。

最佳答案

您可以遍历相邻腿的所有三元组并使用过滤掉不需要的腿

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 中至少有两条腿。)

关于python - 比较 python 元组以查找在上一个和下一个元组中也找到的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9822307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com