首页 > 解决方案 > Python:如何从未知数量的字段中向后获取匹配的字段编号

问题描述

这可能太基本了,但无论如何让我问一下!

我正在寻找一种方法来获取包含我的匹配项的字段编号,以便我可以根据结果做更多​​的工作。

我试过类似的东西:

with open(filename) as f:
  for line in f:
    for field in range(-1, 0,-1):  # Wrong --> How can I decrement starting from the last field backwards to the 1st field in each line of a file?
      if pattern in field:
        print("field# " + field + " shows:" + line.split(' ')[field])

提前致谢!

- 史蒂夫

标签: pythonpython-3.x

解决方案


假设您不关心它发生在哪一行,并且字段从 1 开始计数,而不是 -1。

with open(filename) as f:
  for line in f:
    fields = line.split() # assume white space is delimiter
    for i, field in enumerate(fields, 1): 
      if pattern in field:
        print("field# " + i + " shows:" + field)

推荐阅读