猿问

在列表中查找需要上一个元素的满填充条件的元素

因此,我想测试列表是否包含一个元素,该元素填充了需要前一个元素的条件。例如:

liste = [1,3,5,2,6,4,7,1,3,5,2,3,4,7]

现在我想测试两个数字,如果它们在列表中连续出现(例如 如果数组列表中的 3 直接在 4 之前出现,则会给出 TRUE,否则为 FALSE)find(liste, 3, 4)

给我带来的问题是,一个数字在数组中多次出现。我需要针对每次出现的情况对其进行测试。有什么想法吗?

仅供参考:我已经在javascript中实现了它,但现在想要它在python中。在脚本中,我使用:

!!liste.find((element, idx) => idx > 0 && liste[idx-1] == 3 && element == 4)

但是我很难把它翻译成皮顿...


弑天下
浏览 96回答 2
2回答

qq_笑_17

您可以执行以下 zip + 任何操作:liste = [1, 3, 5, 2, 6, 4, 7, 1, 3, 5, 2, 3, 4, 7]def find(lst, first, second):    return any((first, second) == pair for pair in zip(lst, lst[1:]))print(find(liste, 3, 4))输出True

元芳怎么了

zip(liste, liste[1:])将为您提供每个项目及其前身的成对迭代器。
随时随地看视频慕课网APP

相关分类

Python
我要回答