查找并计算列表中的重复出现 - python

时间:2016-06-15 19:05:59

标签: python python-3.x

这是一个挑战

寻找单线解决方案:

假设我们有一个清单:

a = [1,-1,1,-1,-1,-1]

想法是获得动态解决方案,在列表中查找-1的数量,但从结束到开始并在第一个值(从结束到开始)为1时停止计数。

在这种情况下,解决方案应为3。

1 个答案:

答案 0 :(得分:1)

一个解决方案是

    a[::-1].index(1) if 1 in a else len(a)

a[::-1]撤消列表。

index(1)在反向列表

中找到第一个出现的1

由于您提到的只有1-1,这足以找到-1'最后1之前的。

如果列表中没有index(1)1会引发错误,if 1 in a else len(a)条件会通过返回列表的长度来处理。