В python удалить ненужный элемент из списка данных, когда я не знаю, где появятся нежелательные данные или какова будет указанная строка c? - PullRequest
0 голосов
/ 21 апреля 2020

Это входные данные, которые я составил, но структура идентична данным, с которыми я работаю. Мне нужно отбросить «некоторые вещи, которые мне не нужны», но я не знаю, на каких позициях это будет происходить в данных. Мне также нужно поместить оставшиеся данные в подсписки из 7 пунктов. Данные извлекаются из текстового макета PDF-символа и помещаются в список «Ввод». То, что я хотел бы сделать, это посмотреть на первый элемент в списке, проверить, является ли оно целым числом менее 3 цифр. Если True, поместите этот элемент и следующие 6 в подсписок. Если False, я хочу, чтобы он игнорировал элемент и проверял следующий элемент. Я хотел бы, чтобы он делал это непрерывно, пока не закончатся данные для проверки и внесения в подсписок.

Ввод:

['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '4', '3.00', '43.00 NC', '1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3','43.00 NC', 'some stuff I dont want', '1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3', '43.00 NC']

Вывод должен выглядеть следующим образом: Вывод:

[['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '4', '3.00', '43.00 NC'], ['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3', '43.00 NC'], ['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3', '43.00 NC']]

Я пытался использовать a для l oop и некоторое время l oop, но я не могу понять, что синтаксис правильно помещает только те данные, которые я хочу, в подсписок, исключая данные Я не хочу. Есть ли способ сделать это, что, возможно, я пропускаю?

1 Ответ

0 голосов
/ 21 апреля 2020

Примерно так может начаться:

data = ['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '4', '3.00', '43.00 NC', '1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3','43.00 NC', 'some stuff I dont want', '1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3', '43.00 NC']

all_sublists = []
i = 0
while i < len(data):
    try:
        if int(data[i]) < 100:
            all_sublists.append(data[i:i+7])
            i += 7
    except ValueError:
        i += 1

all_sublists

возвращает

[['1',
  '1',
  '2',
  '11" Some Words symbols and numbers mixed 3-4-2#',
  '4',
  '3.00',
  '43.00 NC'],
 ['1',
  '1',
  '2',
  '11" Some Words symbols and numbers mixed 3-4-2#',
  '3.00',
  '3',
  '43.00 NC'],
 ['1',
  '1',
  '2',
  '11" Some Words symbols and numbers mixed 3-4-2#',
  '3.00',
  '3',
  '43.00 NC']]
...