gpt4 book ai didi

确定两个给定数字在整数序列中是否相邻的 Pythonic 方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:26:33 25 4
gpt4 key购买 nike

给定整数 a, b 使得 a < b;和一些有序的可迭代整数序列,seq。确定 ab 是否按顺序出现在 seq

中的任何地方

显而易见的第一步是:

假设a < b(如果 a > b,只需切换值)。

>>> idx = 0
>>> for i in range(0, len(l)):
... if a == l[i]:
... idx = i
...
>>> b == l[idx+1]

这感觉很笨拙。

例如给定

>>> [1, 2, 3, 8]

如果a为1,b为3,则不相邻,如果a为3,b为8,则相邻。

有些东西告诉我有一种更 pythonic 的方式来做这件事,或者这是一个经过充分探索的问题,而我缺少一种更清晰/更清晰的方法来处理它。

最佳答案

使用any reducer 来确定是否有任何相邻对匹配 (a,b):

>>> seq = [1, 2, 3, 8]
>>> a = 3
>>> b = 8
>>> any((seq[i], seq[i+1]) == (a,b) for i in range(len(seq)-1))
True
>>> b = 1
>>> any((seq[i], seq[i+1]) == (a,b) for i in range(len(seq)-1))
False
>>>

关于确定两个给定数字在整数序列中是否相邻的 Pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43689603/

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