给我最高的元素

Nek*_*oso 3 python list

我有一个这样的列表:

List1: [1, 5, 9, 1, 5, 9, 15, 21, 29, 1, 5, 9, 15]
Run Code Online (Sandbox Code Playgroud)

我想要一个新的列表,它应该包含最高的数字,然后再用1开始.

List_new: [9, 29, 15]
Run Code Online (Sandbox Code Playgroud)

我试过这个:

List_new = []
for i in range(len(List1)):
    j = List1[i]
    if j + 1 == '1': 
        List_new += [j]
    else:
        continue
print(j)
Run Code Online (Sandbox Code Playgroud)

但我得到了一个空列表.

And*_*nov 11

只需内置libs:

from itertools import groupby
result = [max(group) for r, group in groupby(your_list, lambda x: x == 1) if not r]
Run Code Online (Sandbox Code Playgroud)

  • 为什么不在群组中调用最大值? (3认同)
  • 我最近看到很多答案中都使用了[**`itertools.groupby`**](https://docs.python.org/2/library/itertools.html#itertools.groupby).我认为这是我理解的时间(c:这个问题有一些很好的答案:[我如何使用Python的itertools.groupby()?](/sf/ask/54141/这样做,我使用的,蟒蛇,itertools-GROUPBY) (2认同)