Как перебрать несколько строковых переменных в цикле for? - PullRequest
1 голос
/ 07 мая 2019

У меня есть несколько строковых переменных, которые хранят некоторые текстовые данные.Я хочу выполнить один и тот же набор задач для всех строк.Как я могу добиться этого в Python?

string_1 = "this is string 1"
string_2 = "this is string 2"
string_3 = "this is string 3"

for words in string_1:
    return the second word 

Выше приведен только пример.Я хочу извлечь второе слово в каждой строке.Могу ли я сделать что-то вроде:

for words in [string_1, string_2, string_3]:
    return the second word in each string

Ответы [ 2 ]

2 голосов
/ 07 мая 2019

Вы можете использовать понимание списка, чтобы связать второе слово в этих строках.split() разбивает ваше предложение на составляющие слова, занимая пробелы.

lines = [string1, string2, string3]

>>>lines[0].split()
['this', 'is', 'string', '1']

>>>[line.split()[1] if len(line.split()) > 1 else None for line in lines]
['is', 'is', 'is']

Правка Добавлены условные проверки для предотвращения ошибок индексации

1 голос
/ 07 мая 2019

Да, вы могли бы сделать

for sentence in [string_1, string_2, string_3]:
   print(sentence.split(' ')[1]) # Get second word and do something with it

Это будет работать при условии, что у вас в строке минимум два слова, каждое из которых разделено пробелом.

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