Более двух одинаковых строк подряд мне подходит - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть файл .txt, подобный следующему:

....

Crista

7:3

2:0

Wiki

4:1

6:2

3:2

6:8

Pope

5:2

0:1


....

Код для поиска всех строк с цифрами и добавления его в список:

pp=open('mine.txt')
ll=[]

for line in pp:
    line = line.rstrip()
    if re.findall('^\d{1}:\d{1}', line):
        digits=line
        ll.append(digits)

Мой вывод:

ll=['7:3', '2:0', '4:1', '6:2', '3:2', '6:8', '5:2', '0:1']

Если в строке более двух строк с цифрами, они мне не нужны в списке

Итак, мой желаемый результат:

ll=['7:3', '2:0', '4:1', '6:2', '5:2', '0:1']

Как я могу получить это?

1 Ответ

1 голос
/ 12 апреля 2020

Попробуйте это:

import re
pp=open('mine.txt')
ll=[]

count = 0
for line in pp:
    line = line.rstrip()
    print(line)
    if re.findall('^\d{1}:\d{1}', line):
        if count < 2 :
            digits=line
            ll.append(digits)
        count += 1
    elif line != "" :
        count = 0
print ( ll )
...