kuk*_*uku 2 python indexing list python-itertools
例如,如果我有一个 list [1,2,2,3,2,2,1],我想返回[1,2,3,2,1]索引 (0,1,3,4,6)。
我不熟悉 groupby,我学会了如何消除相邻的重复项,但是也可以以某种方式使用 groupby() 提取索引?谢谢你。
是的,这是可能的,您可以将itertools.groupby, withenumerate()和 right结合使用key=
例如:
lst = [1,2,2,3,2,2,1]
from itertools import groupby
rv, index = [], []
for v, g in groupby(enumerate(lst), key=lambda k: k[1]):
rv.append(v)
index.append(next(g)[0])
print(rv)
print(index)
Run Code Online (Sandbox Code Playgroud)
印刷:
[1, 2, 3, 2, 1]
[0, 1, 3, 4, 6]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |