Распечатать элемент списка и его X последующие - PullRequest
0 голосов
/ 16 октября 2018

Список ввода:

a = ['Dog', 'Cat', 'Bird', 'Horse']

Мой код:

For i in range(len(a)):
    word = a[i]
    if word == 'Cat'
       b = open('file.txt','w')
       b.write(a[i])

Пока код повторяется и записывает Cat в новый файл, но я хотел бы, чтобы моя программа писала Catа также последующие строки, которые в этом случае будут Bird и Horse.

Могу ли я что-нибудь сделать?т.е.: b.write(a[i:]) или b.write(a[i:2])

Редактировать: Решено с использованием следующего:

b.write('\n'.join(a[i:i+X])), где X - последующие элементы.

Я все еще открыт для лучших ответов.Благодаря.

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

вы можете пропустить цикл for и просто сделать:

with open('f', 'w') as f:
    f.write('\n'.join(a[a.index('Cat'):]))
0 голосов
/ 16 октября 2018

Вы можете сделать:

b.write('\n'.join(a[i:]))

, если вы хотите, чтобы символ новой строки был разделен между символами, если вам нужен пробел, просто используйте ' '.join(a[i:]) например

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...