我正在寻找一种检查方法,string
是否包含连续的x个相等数字(不是更多)。例如,对于3个数字:788895将是True
但是对于7888895,它将是False
。
我有一个数字列表,我将在此列表中使用过滤器。
如果我想过滤那些至少包含3个数字的数字,那就是:
num = filter(lambda x: any(y in x for y in ['000','111','222'..etc]),numbers)
但是如何更改此过滤器以返回44000125
而不是44000012
,因为连续有4个零?
['0000','1111'...]
,我可以用蛮力方法来测试每个数字,但我认为应该有更好的方法。
答案 0 :(得分:2)
这将检查最长的相同数字链是否长度正好为三。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="100%p"
android:duration="300"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
</set>
示例:
import itertools as it
max(len(list(v)) for k,v in it.groupby(s) if k.isdigit()) == 3