![](/img/trans.png)
[英]Seeing if an item is directly followed by another item in a list (python)
[英]Check if an item is always followed by another in a list - Python
我想檢查列表中是否始終跟有另一個項目。 我想出了這個非常陳舊的示例...假設我想檢查以下列表中是否始終在“ a”后跟“ b”:
list = ['x','y','z','a','b','2','3','5','2','1','5','fds','f','s','a','b']
然后,理想情況下,如果每次我們看到“ a”,則函數直接返回“ b”,則該函數將返回TRUE。 誰能幫我這個? 也許我在這里錯過了一些非常簡單的事情。
all(a != 'a' or b == 'b' for a, b in zip(list[:-1], list[1:]))
您可以將all
zip
與O(n)解決方案一起使用。
itertools.islice
用於避免制作新列表的itertools.islice
。 您還可以包裝以下功能。
from itertools import islice
def fun(lst, val1, val2):
return all(j==val2 for i, j in zip(lst, islice(lst, 1, None)) if i==val1)
lst = ['x','y','z','a','b','2','3','5','2','1','5','fds','f','s','a','b']
res = fun(lst, 'a', 'b')
print(res) # True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.