Я бы перебрал list s
, сохраняя результаты в set res
, и в конце, если я хочу, чтобы результаты отсортированы , я бы применил sorted function on res
, чтобы получить вывод.
Вот некоторый код.
s= [2, 4, 6, 7, 8, 9, 10, 13, 14, 15]
res = set()
for i, num in enumerate(s[:-1]):
if num+1 == s[i+1]:
res = res.union({num} )
res = res.union({s[i+1]})
print(sorted(res))
print(res)
И вывод:
>>> [6, 7, 8, 9, 10, 13, 14, 15]
{6, 7, 8, 9, 10, 13, 14, 15}
Имейте в виду, что set
s НЕ отсортированы дажеесли они кажутся отсортированными.Это потому, что set
s НЕ поддерживает index
es.Поэтому, если вы хотите, чтобы результаты сортировались, обязательно используйте функцию sorted
, чтобы быть в безопасности.