我有一個整數串列,其中一些是連續的。我想用他們組的最小值替換連續的,或者洗掉除每個組的最小值之外的所有這些。例子:
my_list = [1,2,3,4,6,7,8,9,11]
result = [1,1,1,1,6,6,6,6,11]
甚至像這樣洗掉它們:
result = [1,6,11]
uj5u.com熱心網友回復:
對于第二種方式,
print([x for x in my_list if x-1 not in my_list])
為您提供前一個不在原始串列中的所有數字的串列
uj5u.com熱心網友回復:
簡單的解決方案:
>>> from itertools import pairwise
>>> result = [lst[0]]
>>> for i, j in pairwise(lst):
... if j - i != 1:
... result.append(j)
...
>>> result
[1, 6, 11]
注意:itertools.pairwise
在 Python 3.10 中引入。如果您使用的是早期版本,您可以考慮pairwise
自己實作或簡單地使用索引。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505426.html