python l oop go к предыдущей строке при условии если - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть для l oop для обработки данных из ввода, как я могу, когда он нашел условие, чтобы начать строку индекса, где он вычитает две строки перед ним

# this is the data sample

Candra Insley
Ivette Ralston
Florentina Bohon
Natalie Underhill
Shoshana Risinger
Melony Hulsey
Klara Warren
Corrina Broderick
Susana Vitti
Susy Seidman
Chris Deen
Mason Nebel
Tawanda Riccio
Shameka Schmitmeyer
Robert Longacre
Floria Padro
Julius Gelman
Kyung Barnard
Freida Manville
Wendy Bolduc

вот код

status = request.form['data']
  status = str(status).split('\n')
  for i in status:
    if len(i) < 2:
      continue
    print i
    data = i[0]
    condition = 'Shameka Schmitmeyer'
    if condition in data:
      print 'found it'
      condition = ''
      i -= 2 # here it will subtract the current data index 2 it will go back two line to this "Mason Nebel" data and start the for from it and continue
    print data
#output it should be like

Candra Insley
Ivette Ralston
Florentina Bohon
Natalie Underhill
Shoshana Risinger
Melony Hulsey
Klara Warren
Corrina Broderick
Susana Vitti
Susy Seidman
Chris Deen
Mason Nebel
Tawanda Riccio
found it
Shameka Schmitmeyer

здесь, когда условие истинно, оно go вернется на две строки и продолжит из "Мейсон Небел" это значение

здесь, как оно выглядит, когда оно продолжается

Mason Nebel
Tawanda Riccio
Shameka Schmitmeyer
Robert Longacre
Floria Padro
Julius Gelman
Kyung Barnard
Freida Manville
Wendy Bolduc

как это сделать для

, если это возможно

или

  • при l oop

или

каково решение для этого

надеюсь, это понятно для понимания

1 Ответ

0 голосов
/ 06 февраля 2020

это можно купить, пока l oop

      status = request.form['data']
      status = str(status).split('\n')

      i = 0
      while i <= len(status):

        element = status[i]
        if len(status[i]) < 2:
          continue

        datalist = element.strip().split('|')
        print(datalist)

        data = datalist[0]
        condition = 'Shameka Schmitmeyer'

        if condition in data:
          print('found it')
          condition = ''
          i -=2

        print(data)
        i +=1

вывод

Candra Insley
Ivette Ralston
Florentina Bohon
Natalie Underhill
Shoshana Risinger
Melony Hulsey
Klara Warren
Corrina Broderick
Susana Vitti
Susy Seidman
Chris Deen
Mason Nebel
Tawanda Riccio
found it
Shameka Schmitmeyer
Mason Nebel
Tawanda Riccio
Shameka Schmitmeyer
Robert Longacre
Floria Padro
Julius Gelman
Kyung Barnard
Freida Manville
Wendy Bolduc
...