首页 > 代码库 > python的enumerate在for循环中的方便之处

python的enumerate在for循环中的方便之处

看代码

for i, j in enumerate(mingdan):
  for j1 in kch:
    for i2, j2 in enumerate(p):
      if j1 == j2 and j[0] == p[i2-2]:
        mingdan[i].append(p[i2+1])
        break

普通的for, 比如for k in [1,2,3] 常用来穷举, 这在一般情况下很方便好用,但是我却无法定位正使用的元素在list中的位置。

假如我需要找到某个元素, 而我需要处理的是这个元素往前2个位置,如上代码所示,这个for用法就不行了。

之前,我会加个int,记录下for循环到哪个元素了, 然而这么写逻辑不仅难看明白

最重要的是,不pythonic啊

终于,用到enumerate这个函数,一切清晰起来

我可以轻松地得到我遍历的元素以及它所处的位置,

[]这个语法糖终于使上劲了。

python的enumerate在for循环中的方便之处