gpt4 book ai didi

Python:在元组列表中,找到下一个元组的值时检索前一个元组的键?

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:31 24 4
gpt4 key购买 nike

我有一个元组列表:

sentenceParts = [('there', 'EX'), ('is', 'VBZ'), ('a', 'DT'), ('huge', 'JJ'), ('shaggy', 'NN'), ('dog', 'NN'), ('in', 'IN'), ('the', 'DT'), ('yard', 'NN')]

我希望有一个函数,例如,如果我知道我需要找到值“IN”(其键在本例中为“in”),该函数将返回上一个元组键(在此例如,'dog') 以及该元组的键的数字索引(在这种情况下,我相信它是 5[0])

我目前从这一行获取要搜索('in')的值:

wordIndex = next((word for word, value in sentenceParts if value == "IN"), None)

该行正确返回“in”的键。我需要一种类似的方法来获得我需要的输出('dog',5[0] prehaps)。我试过弄乱各种版本的 sentenceParts.index(wordIndex) 但我绝对没有正确使用它。我已经找到了至少三种不同的方法来让代码返回“in”给我,还有几十种方法来获得 ValueError 或 AttributeError ... ', 5[0]

如果我必须将其放入伪代码中,它将是:

wordIndex = next((PREVIOUS word, INDEX, for word, value in sentenceParts if value == "IN"), None)

谢谢。抱歉,如果之前有人问过这个问题,但经过大量搜索后我找不到任何真正符合要求的东西……如果我确实看到了,我可能没有足够的知识来识别它。希望我没有错过它。感谢您提供的任何帮助。

最佳答案

在压缩列表上使用zipenumerate:

def get_previous_item(lst, search_item):
for i, (x, y) in enumerate(zip(lst, lst[1:])):
if y[1] == search_item:
return i, x[0]

用法:

>>> get_previous_item(sentenceParts, 'IN')
(5, 'dog')

关于Python:在元组列表中,找到下一个元组的值时检索前一个元组的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56895773/

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