Python 3:连续相等元素的最大数量

时间:2017-06-15 19:35:38

标签: python python-3.x

给定以数字0结尾的整数序列。确定所有元素彼此相等的最宽片段的长度。 即4,4,4,4,31,31,5,5,5,5,5,5应返回6

这是我在学校给出的一项任务,不知道如何完成。请帮忙......

这是我到目前为止的代码:

seq = []
distance = []
x = int(input())
while x != 0:
    seq.append(x)
    x = int(input())

n = str(seq)

for num in seq:
    distance.append(len(seq[''.join(n).find(str(num))-1:''.join(n).rfind(str(num))+1]))

print(max(distance))

2 个答案:

答案 0 :(得分:0)

如上所述here您可以使用itertools.groupby来实现此目标:

import itertools
a = [4,4,4,4,31,31,5,5,5,5,5,5]
z = [(x[0], len(list(x[1]))) for x in itertools.groupby(a)]
print max(z, key=lambda x:x[1])[1] #6

答案 1 :(得分:0)

<form>
  <label for="name">Nombre</label><br>
  <input type="text" name="name" id="name" required><br>
  <label for="email">Email</label><br>
  <input type="text" name="email" id="email" required><br>
  <label for="message">Mensaje</label><br>
  <textarea name="message" id="message" required></textarea><br>
  <button type="submit" name="button">Enviar</button>
</form>