Как получить конкретную строку внутри значения String в списке в Python

#python-3.x #list

#python-3.x #Список

Вопрос:

У меня есть список, подобный этому:

 data_list = ['12 guests · 6 bedrooms · 10 beds · 3 baths', '10 guests · 5 bedrooms · 7 beds · 4 baths',
'13 guests · 6 bedrooms · 8 beds · 4 baths', '3 guests · 2 bedrooms · 2 beds · 2 baths']
  

Я хочу перечислить вот так:

 data_list = ['6 bedrooms', '5 bedrooms', '6 bedrooms', '2 bedrooms']
  

Как я могу этого добиться?

Ответ №1:

разделите каждый список в списке данных на ' . ' и, если он содержит слово bedrooms, добавьте его в br_arr

 br_arr = []
for data in data_list:
    for ele in data.split(' · '):
        if 'bedrooms' in ele:
            br_arr.append(ele)
  

Однострочный с использованием понимания списка

[ele for data in data_list for ele in data.split(' · ') if 'bedrooms' in ele ] Вывод:

 ['6 bedrooms', '5 bedrooms', '6 bedrooms', '2 bedrooms']